欢迎来到天天文库
浏览记录
ID:6107494
大小:80.00 KB
页数:7页
时间:2018-01-03
《数据结构-实验2-单链表的基本运算》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、上海应用技术学院《数据结构》课程实验报告实验名称单链表的基本运算实验序号2实验日期2012-4-8姓名曹志华院系计算机科学与信息工程学院班级101041C1学号1010411501专业计算机科学与技术指导教师武伟成绩教师评语一、实验目的和要求1.了解单链表基本运算的实现;2.进一步掌握链表使用的步骤;3.牢固掌握建立单链表算法,特别是尾插法建表算法,是很多其他复杂复杂的基础;二、实验项目摘要编写一个程序algo2-2.cpp.实现单链表的各种基本运算,并在此基础上设计一个主程序完成如下功能:1.初始化顺序表h;2.依次采用尾插法插入a,b,c,
2、d,e元素;3.输出单链表h;4.输出单链表h长度;5.判断单链表h是否为空;6.输出单链表h的第3个元素;7.输出元素’a’的位置;8.在第4个元素位置上插入“f”元素;9.输出单链表h;10.删除单链表h的第3个元素;11.输出单链表h;12.释放单链表h。三、实验预习内容单链表基本运算的实现:单链表中,每一个结点有一个指针域指向直接后继。l插入结点运算l删除结点运算l建立单链表l线性表基本运算的实现1.初始化线性表2.求线性表的长度3.判断该线性表是否为空4.销毁线性表5.求线性表中某个数据元素值6.按元素查找计算机科学与信息工程学院·2
3、010年编制上海应用技术学院1.插入数据元素2.删除数据元素3.输出线性表三、实验结果与分析1.实验结果:2.实验分析:这次实验与上次的顺序表很相似,但相比之下,单链表比较难一些,通过这次实验我明白了什么是线性表的链式存储结构,在编写程序时出现了很多错误,但通过看书,查找资料慢慢改进,在改进中也学会了很多,比如了解了单链表基本运算算法的基本格式和构成。虽然有很多不足,但在今后的实验中我会慢慢改进。计算机科学与信息工程学院·2010年编制上海应用技术学院1.源程序#include#include//#defi
4、nemaxsize1024typedefcharElemType;typedefstructnode{ElemTypedata;structnode*next;}LinkList;//初始化线性表voidInitList(LinkList*&h){h=(LinkList*)malloc(sizeof(LinkList));h->next=NULL;}//求线性表的长度intListLength(LinkList*h){inti=0;LinkList*p=h->next;while(p!=NULL){i++;p=p->next;}returni;
5、}//求出线性表中第i个元素intGetElem(LinkList*h,inti,ElemType&e){intj=0;LinkList*p=h->next;if(i<1
6、
7、i>ListLength(h))return(0);while(jnext;j++;}e=p->data;计算机科学与信息工程学院·2010年编制上海应用技术学院return(1);}//判断单链表是否为空intListEmpty(LinkList*h){return(h->next==NULL);}//输出元素的位置(按元素值查找)intLocateEl
8、em(LinkList*h,ElemTypee){LinkList*p=h->next;inti=1;while(p!=NULL&&p->data!=e){p=p->next;i++;}if(p==NULL)return(0);elsereturn(i);}//插入数据元素intListInsert(LinkList*&h,inti,ElemTypee){intj=0;LinkList*p=h,*s;while(jnext;}if(p==NULL)return0;else{s=(LinkList*
9、)malloc(sizeof(LinkList));s->data=e;s->next=p->next;p->next=s;计算机科学与信息工程学院·2010年编制上海应用技术学院return1;}}//删除数据元素intListDelete(LinkList*&h,inti,ElemType&e){intj=0;LinkList*p=h,*q;while(jnext;}if(p==NULL)return0;else{q=p->next;if(q==NULL)return0;e=q->data;p
10、->next=q->next;free(q);return1;}}//销毁线性表intDestroyList(LinkList*&h){LinkLis
此文档下载收益归作者所有