前言:
如今姐妹们对“循环链表怎么遍历”大体比较珍视,同学们都想要学习一些“循环链表怎么遍历”的相关内容。那么小编在网摘上收集了一些有关“循环链表怎么遍历””的相关内容,希望咱们能喜欢,咱们快快来学习一下吧!结构型数据和链表对实现各种数据结构有着重要的意义。
遍历链表的关键在于如何控制指针的移动。
遍历链表的三个要点:
遍历一个链表的动态过程:
视频加载中...
代码:
附代码:
#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-
版权声明:
本站文章均来自互联网搜集,如有侵犯您的权益,请联系我们删除,谢谢。
标签: #循环链表怎么遍历 #动态建立一个链表并遍历 #链表的创建和遍历