数据结构学习笔记(二) 链表之带表头结点的单循环链表基本操作
2018-01-22 15:48
645 查看
以下是带表头节点的单循环链表的基本操作,包括链表的创建、形成循环链表以及打印。
#include<iostream> using namespace std; //抽象数据类型 typedef int datatype; typedef struct node { datatype data; struct node *next; }ListNode,*LinkList; //带表头结点的单链表的创建 ListNode* Create(int i) { datatype x; ListNode *head,*p,*q; head=new ListNode; q=head; cout<<"请输入5个数:"<<endl; while(i--) { p=new ListNode; cin>>x; p->data=x; p->next=NULL; if(q!=NULL) q->next=p; q=p; } return head; } //形成循环链表 void CreateCircle(LinkList &rear,int i) { datatype x; ListNode *p,*q,*head; p=head=Create(5); while(p->next!=NULL) p=p->next; rear=p; rear->next=head; } //打印单链表 void Print(LinkList &rear) { //参数检查 if(rear==NULL) { cout<<"链表为空!"<<endl; return; } ListNode *p; p=rear->next; cout<<"链表中的元素为:"<<endl; /*while(p!=rear) { cout<<p->data<<" "; p=p->next; }*/ cout<<"rear->data= "<<rear->data<<endl; cout<<"rear->next->next->data= "<<rear->next->next->data<<endl; } //测试函数 int main() { LinkList rear; CreateCircle(rear,5); Print(rear); return 0; }
相关文章推荐
- 数据结构学习笔记(二) 链表之单链表的基本操作
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 数据结构学习之双向循环链表的基本操作(非递归实现)
- 数据结构学习笔记(二) 链表之链栈基本操作
- 数据结构学习笔记(二) 链表之带表头结点的双循环链表基本操作
- 数据结构学习笔记(二) 链表之链队列基本操作
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 【C++数据结构学习笔记---线性表】带头结点的双向循环链表
- 新手学习数据结构与算法---单链表的基本操作
- 数据结构-带头结点带环的双向链表基本操作
- R语言学习笔记——数据结构 & 数据框基本操作
- ios学习笔记之C语言篇(一):链表的基本操作
- 【[学习笔记----数据结构15-图的基本数据操作]】
- 《数据结构》进行曲--带头结点的单循环链表的基本操作
- 【学习笔记10】基本数据结构(栈 队列 链表 有根树)
- 【C++数据结构】模版类实现双循环链表的基本操作
- 数据结构——单向链表的基本操作C语言描述(克服对头结点和尾结点的操作)
- 【数据结构】-线性表-双向循环链表-1328:链表的基本操作【好题】
- C语言单链表的基本操作(带表头结点)
- python数据结构之列表基本操作[学习笔记]