Cracking The Coding Interview 2.0 单链表

2023-11-30 19:38

本文主要是介绍Cracking The Coding Interview 2.0 单链表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

#include <iostream>
#include <string>
using namespace std;
class linklist
{
private:class node{public:node(){}string data;node * next;};node *first;int size;
public:linklist(){first = new node;size = 0;}/***整表创建***/void Create(string *s,int size){if (s==NULL || size == 0){return;}node *p = new node;p->data = s[0];first->next = p;for (int i = 1; i<size; i++){node *t = new node;t->data = s[i];p->next = t;p=p->next;}p->next = NULL;this->size = size;}/***整表删除***/void Clear(){for (int i = 1;i<size+1; i++){Delete(i);}first = NULL;size = 0;}/***第i[i为1,2....size,下同]个元素前插入string型e***/void Insert(int i, string e){if (i<0 || i>size){return;}int t = i - 1;node *p = first;node *pn = p->next;while(t!=0){p = p->next;pn = pn->next;t--;}node *ee = new node;ee->data = e;ee->next = pn;p->next = ee;size ++;}/****获取第i个元素的值,并返回该值**/string Get(int i){if (i<=0 || i>size){return "Error: You input wrong num.";}int t = i;node *p =first;while(t!=0){p = p->next;t--;}return p->data;}/***删除第i个元素***/void Delete(int i){if (i<0 || i>size){return;}int t = i - 1;node *p = first;node *pn = p->next;while(t!=0){p = p->next;pn = pn->next;t--;}p->next = pn->next;delete pn;size --;}void Display(){if (first==NULL){return;}node * p;p=first->next;/*for (int i =0; i<size; i++){cout<<p->data<<"  ";p=p->next;}*/while(p!=NULL){cout<<p->data<<"  ";p=p->next;}cout<<endl;}~linklist(){}
};int main()
{string str[3]={"sos","OMG","fof"};linklist s;s.Create(str,3);s.Display();s.Insert(2,"bingo");s.Display();s.Delete(3);s.Display();cout<<s.Get(1)<<endl;s.Clear();s.Display();return 0;
}

这篇关于Cracking The Coding Interview 2.0 单链表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/438287

相关文章

Go语言构建单链表

package mainimport "fmt"type ListNode struct {Val intNext *ListNode}func main() {list := []int{2,4,3}head := &ListNode{Val:list[0]}tail := head //需要头尾两个指针for i:=1;i<len(list);i++ {//方法一 数组直接构建链表tai

OpenGL ES 2.0渲染管线

http://codingnow.cn/opengles/1504.html Opengl es 2.0实现了可编程的图形管线,比起1.x的固定管线要复杂和灵活很多,由两部分规范组成:Opengl es 2.0 API规范和Opengl es着色语言规范。下图是Opengl es 2.0渲染管线,阴影部分是opengl es 2.0的可编程阶段。   1. 顶点着色器(Vert

[数据结构]线性表之单链表的类模板实现

类的具体实现如下: /#include"LinearList.h"#include <iostream>#include <cstdlib>using namespace std;template<class T>struct LinkNode //链表节点类{T data;LinkNode<T>* link;LinkNode(LinkNode<T>* ptr=NULL):

逆序和顺序创建单链表

单链表是一种顺序的存储方式,数据结构学的不好,考研又是必考内容,只好从头开始学习,相信不断地积累会有更好的爆发! 首先单链表的创建,单链表是建立在结构体的基础上,要创建单链表首先要建立起一个储存数据的结构体: struct node{int elem;node *next;};elem是数据域,用来存放你要输入的数据,next是指向下个存放数据节点的指针同为node 类型; 下面是

QT项目实战之音乐播放器2.0版本

该版本相较于1.0版本最主要的不同在于连接数据库实现类似于歌曲收藏和取消收藏的功能。 详细情况看我的这篇文章http://t.csdnimg.cn/WS5s8。 效果展示 VSMyMusicShow2.0 define.h UseMySQL.h   musicInfo.h   VSMyMusicPlayer.h

MemSQL Start[c]UP 2.0 - Round 1A(构造)

题目链接:http://codeforces.com/problemset/problem/452/A 解题思路: 打个表暴力查找匹配。 完整代码: #include <algorithm>#include <iostream>#include <cstring>#include <complex>#include <cstdio>#include <strin

【深度学习 走进tensorflow2.0】TensorFlow 2.0 常用模块tf.config

无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家。教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家。点这里可以跳转到教程。人工智能教程 本篇文章将会教大家如何 合理分配显卡资源,设置显存使用策略。主要使用tf.config模块进行设置。下面我们一起了解下具体用法和例子。 一、指定当前程序使用的 GPU 例如,在一台具有 4 块 GPU 和一个 C

单链表核心操作代码

头插法建立单链表 代码: void createListByHead(LinkList &L,int n){LNode *s;//移动指针s int x;//要插入的元素 L = (LinkList)malloc(sizeof(LNode));//创建头结点 L->next=NULL;//初始化头结点 for(int i=0;i<n;i++){scanf("&d",&x);//输入要插入的值

等保2.0升级:企业如何快速适应新标准

随着《网络安全法》的实施以及网络空间安全形势的不断升级,我国的信息安全等级保护制度也在持续完善。等保2.0的出台,标志着我国信息安全等级保护体系进入了一个新的阶段。面对等保2.0的升级,企业应如何快速适应新标准,确保自身信息安全体系与国家政策的同步升级?本文将从理解新标准、评估现状、制定计划、执行与优化四个方面,探讨企业应对等保2.0升级的有效策略。 一、深入理解等保2.0新标准 等保2.0相

从 Hadoop 1.0 到 Hadoop 2.0 ,你需要了解这些

学习大数据,刚开始接触的是 Hadoop 1.0,然后过度到 Hadoop 2.0 ,这里为了书写方便,本文中 Hadoop 1.0 采用 HV1 的缩写方式,Hadoop 2.0 采用 HV2 的缩写方式。 HV1 中不得不提的两个进程:JobTracker 和 TaskTracker。JobTracker 主要负责任务调度和集群资源管理,TaskTracker 主要负责任务执行。在 HV1