第十八周项目一(2):输出链表中是否有值为x的结点
2015-01-31 14:07
204 查看
问题及代码:
运行结果:
学习心得:
在输出链表的同时,判断x是否存在。
/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:动态链表体验.cpp *作 者:白云飞 *完成日期:2015年1月31日 *版 本 号:v1.0 * *问题描述:编写函数,输出链表中是否有值为x的结点。 *程序输入:输入若干正数(以0或一个负数结束)建立链表。 *程序输出:输出所输入的数和结果。 */ #include <iostream> using namespace std; struct Node { int data; //结点的数据 struct Node *next; //指向下一结点 }; Node *head=NULL; //将链表头定义为全局变量,以便于后面操作 void make_list(); //建立链表 void out_list(); //输出链表 int main( ) { make_list(); out_list(); return 0; } void make_list() { int n; Node *p,*q; cout<<"输入若干正数(以0或一个负数结束)建立链表:"; cin>>n; while(n>0) //输入若干正数建立链表,输入非正数时,建立过程结束 { p=new Node; //新建结点 p->data=n; p->next=NULL; if(head==NULL) head=p; else q->next=p; q=p; cin>>n;//输入下一个数,准备建立下一个结点 } return; } void out_list() { Node *p=head; int x,exist=0; cout<<"输入需要查找的数:"; cin>>x; cout<<"链表中的数据为:"<<endl; while(p!=NULL) { cout<<p->data<<" "; if (p->data==x)//判断x是否存在 exist=1; p=p->next; } cout<<endl; if(exist==1) cout<<"查找的数字存在"<<endl; else cout<<"查找的数字不存在"<<endl; return; }
运行结果:
学习心得:
在输出链表的同时,判断x是否存在。
相关文章推荐
- 第十九周项目一(二):动态链表体验二(输出链表中是否有值为x的结点)
- 项目一--输出链表中是否有值为X的结点
- 第十八周项目一(1):后输入的数据,将新输入的数字对应的结点放在链表末尾
- 第十八周项目一(6):将值为x的结点插入到建立起来的有序链表中
- 第十八周项目一(3):删除链表中的第一个结点
- 建立一个带头结点的的单向链表并输出到out53.dat和屏幕上。各节点的值为对应的下表。链表的节点数及输出地文件名作为参数传入
- 输入一个单向链表,输出该链表中倒数第k个结点
- 每天学习一算法系列(13) (输入一个单向链表,输出该链表中倒数第k个结点)
- 总结体验1:就比如上面自己写的单链表建立这样的程序,其实明明知道输出单链表不能从头结点开始输入,而是要在第一个节点开始
- 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值
- [java 面试100道]13.输入一个单向链表,输出该链表中倒数第k个结点。
- 输出一个单向链表中间的结点
- 题目:输入一个链表的头结点,从尾到头反过来输出每个结点的值
- 输入一个单向链表,输出该链表中倒数第k个结点
- 输出该链表中倒数第k个结点
- 判断链表是否有环以及求环中第一个结点
- 递增输出链表结点,删除重复结点
- 输入一个单向链表,输出该链表中倒数第k个结点,链表的倒数第0个结点为链表的尾指针
- 输出链表结点[原创]
- 【练习】输入一个单向链表,输出该链表中倒数第k 个结点