c++中关于线性表的实现,单链表
来源:互联网 发布:csol2淘宝刷枪 编辑:程序博客网 时间:2024/06/06 04:45
本篇文章主要讲述的是c++中线性表中单链表的实现和部分功能函数,下面是代码:#includeusing namespace std;//定义可变类型 typedef int Elm;//定义结构struct Elmnode{Elm date;//存放数据域 Elmnode* next;//指向下一数据的地址的指针 } ;//线性表最明显得得例子:单链表 //不带头结点的单链表 //尾插法 void createlist1(Elmnode* &head,Elm A){Elmnode *p,*s;p=new Elmnode;p->date=A;p->next=NULL; if(!head){head=p;}else{s=head;while(s->next) {s=s->next;} s->next=p;}} //头插法void createlist2(Elmnode* &head,Elm A){Elmnode *p,*s;p=new Elmnode;p->date=A;p->next=NULL; if(!head){head=p;}else{s=head->next;p->next=s;head->next=p;}}//链表的遍历void travellist(Elmnode* head){Elmnode* p=head;while(p){cout< date<<" ";}} //链表的定点插入,非逻辑数 void insertlist(Elmnnode*& head,Elm A,int number) {Elmnode *p=head,*m,*l=head->next;int num=0;if(number==0){m=new Elmnode;m->date=A;m->next=p;head=m;return ; }while(number!=++num&&l){p=p->next;l=l->next;}if(number==num){m=new Elmnode;m->date=A;m->next=l;p->next=m;return ;}else if(number==num+1&&!l){m=new Elmnode;m->date=A;m->next=l;p->next=m;return ; }else{cout<<"插入位置出错";return ; }}//链表的删除void deletlist(Elmnode* &head){Elmnode *p=head,s;while(p){s=p;p=p->next;delete s;}return ;} //链表的翻转void turnlist(Elmnode*& head){Elmnode *p=head,*s=head->next,*l=s->next;if(s==NULL) return ;if(l==NULL){s->next=p;p->next=NULL;return ;}while(l){s->next=p;p=s;s=l;l=l->next;}s->next=p;head->next=NULL;return ;}
阅读全文
0 0
- c++中关于线性表的实现,单链表
- C语言中线性表的实现
- 数据结构中线性表的c语言代码实现
- 关于线性表的线性表的实现(顺序结构)
- 线性表的链式存储(单链表)C语言实现
- 线性表的顺序实现(C语言)
- 线性表的顺序实现(C++)
- 线性表的顺序实现(c语言)
- 线性表的C语言实现
- C语言线性表的实现
- 线性表的C语言实现
- 线性表基本功能的c语言实现
- 线性链表的c语言实现
- 线性表的实现(C语言)
- [自学《数据结构(C语言版)》] C中顺序线性表的实现(一)
- 线性表的单链表实现
- 数据结构 C语言实现 线性表的链式实现
- 关于线性表的C程序,语法问题?不会吧
- Add to List 451. Sort Characters By Frequency
- js-函数
- 解决办法
- How to split a string in C++
- Zipper
- c++中关于线性表的实现,单链表
- jQuery的选择器中的通配符[id^='code']或[name^='code']及jquery选择器总结
- XSS攻击方式
- 一些实用的JavaGUI技巧
- Linux学习(三):删除命令rm的注意事项
- USACO-section 1.3 Mixing Milk[贪心]
- 创建恢复目录+创建恢复目录步骤
- 第十五周算法题
- applicationContext.xml中的头部地址的意思