线性表的基本操作及其应用

线性表的基本操作及其应用

ID:39623269

大小:62.50 KB

页数:6页

时间:2019-07-07

线性表的基本操作及其应用_第1页
线性表的基本操作及其应用_第2页
线性表的基本操作及其应用_第3页
线性表的基本操作及其应用_第4页
线性表的基本操作及其应用_第5页
资源描述:

《线性表的基本操作及其应用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、线性表的基本操作及其应用一、实验目的1、帮助学生复习C++语言程序设计中的知识。2、熟悉线性表的逻辑结构。3、熟悉线性表的基本运算在两种存储结构上的实现,其中以熟悉链表的操作为侧重点。二、实验内容单链表的基本操作[问题描述]实现带头结点的单链表的建立、求长度,取元素、修改元素、插入、删除等单链表的基本操作。[基本要求](1)依次从键盘读入数据,建立带头结点的单链表;(2)输出单链表中的数据元素(3)求单链表的长度;(4)根据指定条件能够取元素和修改元素;(5)实现在指定位置插入和删除元素的功能。三

2、、概要设计开始建立带头结点的元素为了实现上述程序功能,应该选择线性链表的链式存储,而总体设计如下:查找第i个元素改变元素插入元素删除元素清除链表求链表的产度显示链表的元素各操作的具体函数实现:1.用尾插法建立带头结点的链表可任意输入元素(char型),voidCreatList(LinkList&L){//LinkListp;L=(LinkList)malloc(sizeof(LNode));intn=0,j=0;L->next=NULL;cout<<"请输入结点个数:";cin>>n;for(i

3、nti=n;i>0;i--){LinkListp;p=(LinkList)malloc(sizeof(LNode));cout<<"请输入一个节点数据:"<>p->data;p->next=L->next;L->next=p;Length++;//每增加一个数据,Length加一}}2.清空链表分析链表为空时,输出为空;当链表不为空时,清空链表,并输出原来的链表已经被清空!的字样告诉操作者,链表已为空了intClearList(LinkList&L){if(L->next==N

4、ULL){cout<<"链表为空!";}else{{LinkListp,q;p=L->next;while(p){q=p;p=p->next;--Length;deleteq;}}cout<<"原来的链表已经被清空!!"<

5、;returnLength;}2.链表元素的展示用函数DisplayList(LinkListL)实现,首先判断链表是否为空,当链表不为空时,在从第一个元素找到并输出,主要步骤为:LinkListp;p=L->next;cout<<"链表中的数据依次为:"<<'t';while(p){cout<data<<"";p=p->next;}3.从链表中查找元素用函数GetElem_L(LinkListL)来实现该功能。先输入要查找的元素的位置,再判断是否在有效区间里,如果是的话,就用字母e返回

6、并输出,主要步骤为:if(i>Length){cout<<"想要得到的元素的位置超过链表的长度"<next;intj=1;while(p&&jnext;++j;}if(!p)cout<<"第i个元素不存在";e=p->data;cout<data;1.向链表中插

7、入元素这个功能是通过函数ListInsert_L(LinkList&L)实现的。首先要判断要插入的位置i是否在有效的区间里,如果是的话,接下来要找到第i-1的位置,然后是指针的一些操作,最主要的步骤是:cout<<"想要插入的元素:"<>e;LinkListp,s;p=L;while(jnext;j++;}if(!p

8、

9、j>i-1)cout<<"要插入的第i个元素不存在";s=(LinkList)malloc(sizeof(LNode));s->data=

10、e;s->next=p->next;p->next=s;Length++;cout<<"插入成功!";2.从链表中删除元素这个功能在某种程度上与插入元素的步骤有点相似,也是先判断链表是否为空接下来是判断要删除的元素的位置i是否在有效地区间里,是的或在执行删除的功能。主要步骤如下:LinkListp,q;p=L;while(p&&jnext;++j;}if(!p

11、

12、j>i-1)cout<<"要删除的第i个元素不存在";q=p->next;p->next=q->n

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。