第三周项目1-动态链表体验(一)
来源:互联网 发布:嵌入式软件开发团队 编辑:程序博客网 时间:2024/05/17 04:50
/** 程序的版权和版本声明部分* Copyright (c)2013, 烟台大学计算机学院学生* All rightsreserved.* 文件名称:a.cpp* 作 者:孔云* 完成日期:2014年3月10日* 版 本 号: v1.0* 输入描述:输入数据。* 问题描述:编写函数建立链表,后输入数据,将新输入的数字对应的结点放在链表末尾。* 输出描述:输出链表中是否有值为x的结点。*/#include <iostream>using namespace std;struct Node{ int data; //结点的数据 struct Node *next; //指向下一结点};Node *head=NULL; //将链表头定义为全局变量,以便于后面操作void make_list2(); //建立链表void out_list(); //输出链表void search(int n);int main( ){ int x; make_list2(); out_list(); cin>>x; search(x); cin>>x; search(x); cin>>x; search(x); return 0;}void make_list2(){ int n; Node *p; cout<<"输入若干正数(以0或一个负数结束)建立链表:"<<endl; cin>>n; while(n>0) //输入若干正数建立链表,输入非正数时,建立过程结束 { p=new Node; //新建结点 p->data=n; p->next=head; //新建的结点指向原先的链表头 head=p; //链表头赋值为新建的节点,这样,新结点总是链表头 cin>>n; //输入下一个数,准备建立下一个结点 } return;}void out_list(){ Node *p=head; cout<<"链表中的数据为:"<<endl; while(p!=NULL) { cout<<p->data<<" "; p=p->next; } cout<<endl; return;}void search(int s){ Node *p=head; while(p!=NULL&&p->data!=s) { p=p->next; } if(p!=NULL) { cout<<"在链表中有值为:"<<s<<"的结点"<<endl; } else { cout<<"在链表中没有值为:"<<s<<"的结点"<<endl; } return;}
心得体会:这个程序有点小难,让我有点晕,迷迷糊糊的!必须的!
0 0
- 第三周项目1-动态链表体验(一)
- 第三周项目2-动态链表体验(二)
- 第十九周项目一:动态链表体验(一)
- 项目一--动态链表体验1
- 第十八周项目一(0):动态链表体验
- 第十九周项目一:动态链表体验(五):建立链表时使链表呈现上升趋势
- 第十八周项目1-1:动态链表体验
- 寒假项目1-动态链表体验(改造)(1)
- 项目 1 动态链表体验(1)
- 寒假项目1-动态链表体验(示例)
- 第十九周项目一:动态链表体验(三):删除链表中的第一个结点
- 第十九周项目一:动态链表体验(四):删除结点值为X的结点
- 2015-1-18链表,枚举 项目一:动态链表体验
- 第三周项目一—体验类和对象
- 第19周上机实践项目1——动态链表体验(1)
- 第18周项目1-动态链表体验(1)
- 第19周上机实践项目1——动态链表体验(2)
- 第19周上机实践项目1——动态链表体验(3)
- WTL的stdafx.h的排列顺序
- MAC下安装scipy等科学计算包
- JAVA中实现多个分隔符拆分字符串
- 内存操作小结
- PHP字符编码
- 第三周项目1-动态链表体验(一)
- 配置Oracle dbconsole的密钥
- smarthosts的Mac安装方法
- c语言目录操作总结
- 写在最前
- PAT 1001
- PAT 1002
- PAT 1003
- Jordan Lecture Note-1: Introduction