单向链表-遍历(查找)
来源:互联网 发布:天刀捏脸数据女百度云 编辑:程序博客网 时间:2024/05/16 11:50
1)查找
例:在一个非空单向链表(数据域值不重复)查找值为key的结点,并返回结点地址,若未找到返回NULL。
ElemSN * FindKeyNode(ElemSN *h,int key){ for(ElemSN *p=h;p && p->data!=key;p=p->next); return p;}
例:
①输出单向链表尾结点的值。(非空链表)
②输出单向链表结点个数。
③输出单向链表,结点值为奇数的结点个数。(数据域正整数)
④输出单向链表,结点值最大的值。
⑤ 逆向输出单向链表数据域的值。
//①输出单向链表尾结点的值。(非空链表) int TialNode(ElemSN *head){ for(ElemSN *p=head;p->next;p=p->next); return p->data;}
//②输出单向链表结点个数。int CountNode(ElemSN *head){ int cnt=0; for(ElemSN *p=head;p;p=p->next,cnt++); return cnt;}
//③输出单向链表,结点值为奇数的结点个数。(数据域正整数)int CountOdd(ElemSN *head){ int cnt=0; for(ElemSN * p=head;p;p=p->next) { if(p->data%2==0) cnt++; } return cnt;}
//④输出单向链表,结点值最大的值。int MaxNode(ElemSN *head){ int max=head->data; for(ElemSN * p=head->next;p;p=p->next) { if(p->data>max) max=p->data; } return max;}
//⑤逆向输出单向链表数据域的值。void RePrintLink(ElemSN *head){ ElemSN *p,*tag=NULL;//tag起岗哨作用 while(tag!=head) { for(p=head;p->next!=tag;p=p->next); tag=p; printf("%5d",tag->data); } printf("\n");}
阅读全文
0 0
- 单向链表-遍历(查找)
- 单向链表的插入、查找和遍历方法 (c)
- 两种方法实现单向链表的创建、遍历、删除、查找、逆序输出(循环法和递归法)
- 单向循环链表创建、遍历、插入、删除、查找(按位置,按元素值)、清空、销毁
- C实现简单单向链表,一次遍历查找倒数第k个节点的值
- 单向链表综合实例(建立,删除,查找)
- 单向链表的使用(存储,插入,查找)
- 单向链表的创建、遍历、求长、判存、判空、插入、删除、查找(按位置或元素)、合并
- 单向链表的创建和遍历
- 单向链表建立与遍历
- java实现单向链表--创建、遍历
- 单向链表创建与遍历
- 单向链表的创建和遍历
- 单向链表的创建与遍历
- 查找单向链表的中间元素
- 单向链表的查找问题
- 查找两个单向链表的交汇点
- C++单向链表-查找某个节点
- 【吐槽】写了一个微小的福利网站,居然要被爬虫了
- 目标检测的图像特征提取之(一)HOG特征
- JavaWeb学习之JSP指令
- USER总结
- 古文觀止卷八_爭臣論_韓愈
- 单向链表-遍历(查找)
- python爬虫学习第二十八天
- 通过maven下载源码和javadoc方法
- Ubuntu解决eclipse CDT 不能识别C++11新特性问题
- where,having与 group by连用的区别
- Retrofit okhttp使用
- 树莓派3 B型刷入centos7及安装wifi模块
- solr搭建过程中控制台报错: Can't find (or read) directory to add to classloader: ../../../contrib/extraction/li
- 【特征检测】HOG特征算法