龙空技术网

编程|动画演示如何遍历一个链表

小智雅汇 178

前言:

如今姐妹们对“循环链表怎么遍历”大体比较珍视,同学们都想要学习一些“循环链表怎么遍历”的相关内容。那么小编在网摘上收集了一些有关“循环链表怎么遍历””的相关内容,希望咱们能喜欢,咱们快快来学习一下吧!

结构型数据和链表对实现各种数据结构有着重要的意义。

遍历链表的关键在于如何控制指针的移动。

遍历链表的三个要点:

遍历一个链表的动态过程:

视频加载中...

代码:

附代码:

#include <iostream>using namespace std;struct node					//定义结点结构类型{	char data;				//用于存放字符数据	node *next;				//用于指向下一个结点(后继结点)};				// …………创建…………node * Create(){	node *head=NULL;		//表头指针,一开始没有任何结点,所以为NULL	node *pEnd=head;		//表尾指针,一开始没有任何结点,所以指向表头	node *pS;				//创建新结点时使用的指针	char temp	;			//用于存放从键盘输入的字符	cout<<"请输入字符串,以#结尾:" <<endl;	do						//循环至少运行一次	{		cin>>temp;		if (temp!='#')			//如果输入的字符不是#,则建立新结点		{			pS=new node;		//创建新结点			pS->data=temp;		//新结点的数据为temp			pS->next=NULL;		//新结点将成为表尾,所以next为NULL			if (head==NULL)	//如果链表还没有任何结点存在			{				head=pS;		//则表头指针指向这个新结点			}			else				//否则			{				pEnd->next=pS;	//把这个新结点连接在表尾			}			pEnd=pS;			//这个新结点成为了新的表尾		}	}while (temp!='#');			//一旦输入了#,则跳出循环	return head;				//返回表头指针}				//…………遍历…………void Showlist(node *head){	node *pRead=head;			//访问指针一开始指向表头	cout<<"链表中的数据为:" <<endl;	while (pRead!=NULL)			//当访问指针存在时(即没有达到表尾之后)	{		cout<<pRead->data;		//输出当前访问结点的数据		pRead=pRead->next;		//访问指针向后移动(指针偏移)	}	cout<<endl;}int main()					{	node *head=NULL;	head=Create();	Showlist(head);	cin.get();	return 0;}

-End-

标签: #循环链表怎么遍历 #动态建立一个链表并遍历 #链表的创建和遍历