单链表的建立查找插入删除

上传人:回**** 文档编号:119441379 上传时间:2022-07-15 格式:DOC 页数:13 大小:88KB
收藏 版权申诉 举报 下载
单链表的建立查找插入删除_第1页
第1页 / 共13页
单链表的建立查找插入删除_第2页
第2页 / 共13页
单链表的建立查找插入删除_第3页
第3页 / 共13页
资源描述:

《单链表的建立查找插入删除》由会员分享,可在线阅读,更多相关《单链表的建立查找插入删除(13页珍藏版)》请在装配图网上搜索。

1、数学与计算机学院计算机系实验报告课程名称: 数据构造年级:实验成绩:指引教师: 黄襄念姓名:abraham 实验教室:6A-412实验名称:单链表的建立/查找/插入/删除学号: 实验日期:/12/16实验序号:实验1实验时间:6:409:50实验学时:4撰写阐明:填写上面有关栏目,须作相应修改。仔细阅读:最后“六、提交文档规定”有关阐明。一、 实验目的1.熟悉掌握链表的创立、链表的常用算法:如查找节点,删除节点,插入节点等等。二、实验环境1. 操作系统:Windows XP2. 开发软件:VC+6.0三、实验内容l 程序功能本程序完毕了如下功能:1. 可以逐个添加英文字到链中。2. 可以删除链

2、中的任意一元素而保持其她元素整体不变。3. 可以查找链表中的任意一种元素,只要输入该元素在链表中的位置,就可以查找到该元素。4. 可以在该链表中插入任意一种元素不变化整体的顺序,输入你要插入的位置即可。l 数据构造本程序中使用的数据构造(若有多种,逐个阐明):1. 它的优缺陷1) 能将物理地址散乱的链接在一起,更好的运用空间,可以动态的申请空间,如使用数组未必能申请到持续的空间但是用链表就可以解决这个问题。2) 能迅速的删除节点,和增添节点。2. 逻辑构造图开始创建链表插入节点删除节点查找节点结束 3. 存储构造图 Head mNumNextNumNext 4. 存储构造的C/C+ 语言描述t

3、ypedef struct node char data; struct node *next;link;l 算法描述(结合流程图或伪代码描述算法,若无可略)本程序中采用的算法(若有多种,逐个阐明)1. 算法名称:创立链表 2. 算法原理或思想通过申请一种构造体指针,在用成果体指针申请一种空间,在输入信息后用前一种节点的Next指针将增长的结点与前面的结点链接,如此反复操作,就形成一种链表。3. 算法特点(优缺陷,与可选或同类算法作对比)与数组相比较,是不持续的,它能随意的添加结点你需要多少就添加多少不会挥霍多余的空间也不用提前去预测需要多少空间而其她的要考虑通用性,就必须申请较大的空间,而导

4、致空间的挥霍。l 程序阐明1. 系统流程图(各个函数或类的调用流程图) MainCreate(head)Deleted(head)Find(head)Ins(head)退出2、程序模块(类或函数)代码:涉及注释阐明、模块功能、I/O参数等1) 创立链表模块:将链表创立录入数据。typedef struct node char data; struct node *next;link;link * get(link *m, int i) link *p;int j=0; p=m; while(jnext!=NULL) p=p-next;j+; if(j=i) return p; else ret

5、urn NULL;2) 删除模块:将链表中不需要的节点数据删除。link * del(link *m, int i) link *p,*s; p=get(m,i-1); if(p=NULL) cout输入有误next; p-next=s-next; free(s); return m;3) 查找模块:查找你想要的信息。link * find(link *m, char ch) link *p; int i=0; int j=0; p=m; while(p!=NULL) i+; if(p-data!=ch) p=p-next; else cout您查找的数据在第i-1个位置.next; if(j

6、!=1) cout您查找的数据不在线性表中.endl; return m;4) 添加模块:添加你还需要添加的信息到链表中。link * ins (link *m, char ch,int i) link *p,*s; p=get(m,i-1); if(p=NULL) cout输入有误data=ch; s-next=p-next; p-next=s; return m;5)打印模块:打印出信息。link * print(link *m) int i,k; char ch; link *p,*q; cout目前线性表为:next; if(m!=NULL) do coutdatanext; whil

7、e(p!=NULL);四、调试与运营1. 程序调试调试:程序开发过程不也许没有BUG,你用了哪些手段或措施发现并改正错误。本程序开发过程中,采用的调试措施或手段如下:1) 措施: 输出某些连表中的数据,看能不能正常显示,调试数据与否对的的录入了。2. 运营成果(贴图,JPG格式) 本次实验多种功能需分别截图,逐个阐明。运营成果图1 运营成果图2运营成果图3五、实验总结1. 成果分析:本程序完毕了对链表的创立和插入、删除、查找功能,但是还没有对字符串进行排序,2. 心得体会:通过这个实验让我掌握了了链表,指针等知识六、源代码#include using namespace std;typedef

8、 struct node char data; struct node *next;link;link * get(link *m, int i) link *p;int j=0; p=m; while(jnext!=NULL) p=p-next;j+; if(j=i) return p; else return NULL;link * ins (link *m, char ch,int i) link *p,*s; p=get(m,i-1); if(p=NULL) cout输入有误data=ch; s-next=p-next; p-next=s; return m;link * find(l

9、ink *m, char ch) link *p; int i=0; int j=0; p=m; while(p!=NULL) i+; if(p-data!=ch) p=p-next; else cout您查找的数据在第i-1个位置.next; if(j!=1) cout您查找的数据不在线性表中.endl; return m;link * del(link *m, int i) link *p,*s; p=get(m,i-1); if(p=NULL) cout输入有误next; p-next=s-next; free(s); return m;link * print(link *m) int

10、 i,k; char ch; link *p,*q; cout目前线性表为:next; if(m!=NULL) do coutdatanext; while(p!=NULL); coutendl; cout请选择您要的操作:; cout 1、插入; cout 2、查找; cout 3、删除; cout 0、退出; coutk; if(k=1) coutch; couti; p=ins(m,ch,i); q=print(m); else if(k=2) coutch; p=find(m,ch); q=print(m); else if(k=3) couti; p=del(m,i); q=print(m); else if(k=0) ; else cout输入错误!endl; q=print(m); return m;int main() cout请输入一串单字符数据,以*结束!next=NULL; r=m; ch=getchar(); while(ch!=*) p=(link *)malloc(sizeof(link); p-data=ch;p-next=NULL; r-next=p;r=r-next; ch=getchar(); q=print(m); return 0;

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!