十二周——链表
来源:互联网 发布:app软件色影 编辑:程序博客网 时间:2024/05/02 01:26
问题及代码:
/**Copyright (c) 2014,烟台大学计算机学院*All rights reserved.*文件名称:lily.cpp*作者:李莉*完成日期:2015年6月3日*版本号:v1.0*问题描述:编写函数void search(int x),输出链表中是否有值为x的结点。 删除链表中的首结点程序输入:输入若干正数*程序输出:运行结果*/#include <iostream>#include <cstdio>using namespace std;struct Node{ int date; struct Node *next;};Node *head=NULL;void make_list();void out_list();void search(int x);void deletehead();int main(){ int b; make_list(); out_list(); cout<<"请输入要查询的结点:"<<endl; cin>>b; search(b); deletehead(); out_list(); return 0;}void make_list(){ int n; Node *p,*q; cout<<"请输入若干正数,以0或负数表示输入结束:"; cin>>n; while(n>0) { p=new Node; p->date=n; p->next=NULL; if(head==NULL)//第一次把head设定为空指针是为了找到头结点的位置 head=p; else q->next=p; q=p; cin>>n; } return;}void out_list(){ Node *p=head; cout<<"链表中的数据为:"; while(p!=NULL) { cout<<p->date<<" "; p=p->next; } cout<<endl; return;}void search(int x){ Node *p=head; while(p!=NULL&&p->date!=x) { p=p->next; } if(p!=NULL) cout<<"链表中有值为"<<x<<"的结点"<<endl; else cout<<"链表中没有值为"<<x<<"的结点"<<endl; return;}void deletehead(){ Node *p=head; if(p!=NULL) { head=p->next; delete p; cout<<"删除了首结点!"<<endl; } else cout<<"空链表,不可以删除!"<<endl; return ;}
运行结果:
心得体会:
删除的特殊方式,关于链表,我总觉得无论任何处理,都是比较特殊的处理方式,都比平常的数据处理要复杂,要慢慢适应,但是不可否认的是的确链表很好用
0 0
- 十二周——链表
- 十二周——链表
- 十二周——链表
- 十二周——驾车
- 十二周——链表——初试手
- (十二)链表—双向链表
- 十二周——该日第几天
- 十二周——银行系统
- 十二周——日期时间类
- 十二周—进制转换
- 十二周—银行储蓄系统
- 十二周——小学生算术能力测试
- 十二周——银行系统(2)
- 十二周——长颈鹿对动物类的继承
- 十二周——教师兼干部类
- 十二周—度分秒转换为弧度
- 十二周
- 坚持学asp.net——(十二)
- 关于Android软键盘弹出,会把原来的界面挤上去的问题
- Mac 使用 ZeroBrane Studio 开发lua
- NSDictionary等基本类型的使用方法
- (总结)Nginx配置文件nginx.conf中文详解
- Excel的xml表现格式
- 十二周——链表
- 移动Web手册
- 设置圆角。边框 和 阴影
- 简单的分页封装(一)
- 黑马程序员-IO字节流的基础应用。。整个IO的分析(字符流和字节流的选择,转换)
- 【参数】DB_nK_CACHE_SIZE参数设置与数据库默认块大小之间的限制
- LogLogic/Chuvakin Log Checklist
- IDEA 快捷键及修改
- 我曾经写过这么牛逼的存储过程呢?