第三周项目2-动态链表体验(二)
2014-03-10 12:42
190 查看
/* * 程序的版权和版本声明部分 * Copyright (c)2013, 烟台大学计算机学院学生 * All rightsreserved. * 文件名称:a.cpp * 作 者:孔云 * 完成日期:2014年3月10日 * 版 本 号: v1.0 * 输入描述:输入数据。 * 问题描述:编写函数建立链表,后输入数据,将新输入的数字对应的结点放在链表末尾,删除链表中的第一个结点。 * 输出描述:输出删除第一个结点后的链表。 */ #include <iostream> using namespace std; struct Node { int data; //结点的数据 struct Node *next; //指向下一结点 }; Node *head=NULL; //将链表头定义为全局变量,以便于后面操作 void make_list2(); //建立链表 void out_list(); //输出链表 void dele_te(); int main( ) { make_list2(); out_list(); dele_te(); out_list(); 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 dele_te() { Node *p=head; if(p!=NULL) { head=p->next; delete p; cout<<"已删除首结点"<<endl; } else { cout<<"链表为空,不能删除!"<<endl; } return; }
心得体会:嗯嗯,这次还不错,做的多了,慢慢地会有感觉的!
还是必须的!
相关文章推荐
- 第三周项目1-动态链表体验(一)
- 第19周上机实践项目1——动态链表体验(1)
- 第三周项目三-体验复杂度2(汉诺塔问题)
- 学术休假期 项目1-动态链表体验2
- 寒假项目1-动态链表体验(改造)(5)
- 寒假项目1-动态链表体验(改造)(6)
- 项目一--动态链表体验1
- 学术休假期 项目1-动态链表体验4
- 学术休假期 项目1-动态链表体验5
- 第19周上机实践项目1——动态链表体验(5)
- 寒假项目1-动态链表体验(示例)
- 学术休假期 项目1-动态链表体验3
- 第18周项目1-动态链表体验(3.删除结点)
- 寒假14项目1——动态链表体验(修改2)
- 第19周上机实践项目1——动态链表体验(2)
- 寒假项目1-动态链表体验(改造)(2)
- 学术休假期 项目1-动态链表体验6
- 寒假14项目1——动态链表体验(示例)
- 寒假项目1-动态链表体验(改造)(4)
- 学术休假期 项目1-动态链表体验 代码