ImageVerifierCode 换一换
格式:DOC , 页数:35 ,大小:280KB ,
资源ID:2249197      下载积分:15 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-2249197.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(数据结构实验-线性表基本操作.doc)为本站会员(hw****26)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

数据结构实验-线性表基本操作.doc

1、学数据结构课程实验报告实 验 名 称: 线性表基本操作的实现 实验室(中心): 学 生 信 息: 专 业 班 级: 指 导 教 师 : 实验完成时间: 2016 教师评阅意见:签名: 年 月 日实验成绩:章: 线性表提升实验2实验一 线性表基本操作的实现一、实验目的1.熟悉 C语言的上机环境,进一步掌握 C语言的结构特点。2.掌握线性表的顺序存储结构的定义及 C语言实现。3.掌握线性表的链式存储结构单链表的定义及 C语言实现。4.掌握线性表在顺序存储结构即顺序表中的各种基本操作。5.掌握线性表在链式存储结构单链表中的各种基本操作。二、实验内容及要求1.顺序线性表的建立、插入、删除及合并。2.链

2、式线性表的建立、插入、删除及连接。三、实验设备及软件计算机、Microsoft Visual C+ 6.0 软件四、设计方案(算法设计) 采用的数据结构本程序顺序表的数据逻辑结构为线性结构,存储结构为顺序存储;链表的数据逻辑结构依然为线性结构,存储结构为链式结构。 设计的主要思路1.建立含 n个数据元素的顺序表并输出该表中各元素的值及顺序表的长度,顺序表的长度和元素由用户输入;2.利用前面建立的顺序表,对顺序表进行插入、删除及合并操作;3.建立一个带头结点的单链表,结点的值域为整型数据,链表的元素由用户输入;章: 线性表提升实验34.对前面建立的链表进行插入、删除及连个链表的连接操作; 算法描

3、述1、顺序表void Init(sqlist /初始化顺序表BOOL Inse(sqlist /在线性表中插入元素BOOL del(sqlist /在线性表中删除元素int Loc(sqlist,char); /在线性表中定位元素void print(sqlist); /输出顺序表void combine( sqlist /两个线性表的合并2、链表void CreaL(LinkList /生成一个单链表BOOL LInsert(LinkList /在单链表中插入一个元素BOOL LDele(LinkList /在单链表中删除一个元素BOOL LFind_key(LinkList,char,in

4、t /按关键字查找一个元素BOOL LFind_order(LinkList,char /按序号查找一个元素void LPrint(LinkList); /显示单链表所有元素void LUnion(LinkList /两个链表的连接五、程序代码1、顺序表#include 章: 线性表提升实验4#include #define Max 116enum BOOLFalse,True;typedef structchar elemMax; /线性表int last; /last 指示当前线性表的长度sqlist;void Init(sqlist BOOL Inse(sqlist /在线性表中插入元素

5、BOOL del(sqlist /在线性表中删除元素int Loc(sqlist,char); /在线性表中定位元素void print(sqlist); void combine( sqlist void main()sqlist L1;sqlist L2;sqlist L3;int loc,S=1;char j,ch;BOOL temp;printf(“本程序用来实现顺序结构的线性表。n“);printf(“可以实现查找、插入、删除、两个线性表的合并等操作。n“);Init(L1); 章: 线性表提升实验5while(S)printf(“n 请选择:n“);printf(“1.显示所有元素

6、n“);printf(“2.插入一个元素n“);printf(“3.删除一个元素n“);printf(“4.查找一个元素n“);printf(“5.线性表的合并n“);printf(“6.退出程序nn“);scanf(“ %c“,switch(j)case 1:print(L1); break; case 2:printf(“请输入要插入的元素(一个字符)和插入位置:n“);printf(“格式:字符,位置;例如:a,2n“);scanf(“%c,%d“, temp=Inse(L1,loc,ch); if(temp=False) printf(“插入失败!n“); else printf(“插

7、入成功!n“); print(L1);break;case 3:printf(“请输入要删除元素的位置:“);scanf(“%d“, temp=del(L1,loc,ch); if(temp=True) printf(“删除了一个元素:%cn“,ch); 章: 线性表提升实验6else printf(“该元素不存在 !n“); printf(“删除该元素后的线性表为:“);print(L1);break;case 4:printf(“请输入要查找的元素:“);scanf(“ %c“, loc=Loc(L1,ch); if(loc!=-1) printf(“该元素所在位置:%dn“,loc+1)

8、; else printf(“%c 不存在!n“,ch);break;case 5:printf(“请输入要进行合并的第二个线性表:“);Init(L2);combine(L1,L2,L3);printf(“合并前的两个线性表如下:n“);print(L1);print(L2);printf(“输出合并后的线性表如下:n“);print(L3);break;default:S=0;printf(“程序结束,按任意键退出!n“);getch();章: 线性表提升实验7void Init(sqlist printf(“请输入初始线性表长度:n=“); scanf(“%d“,printf(“请输入从

9、 1 到%d 的各元素(字符),例如:abcdefgn“,v.last);getchar();for(i=0;iv.last+1)printf(“插入位置不合理!n“); return False;else if(v.last=Max) printf(“线性表已满!n“);return False;else for(i=v.last-1;i=loc-1;i-) 章: 线性表提升实验8v.elemi+1=v.elemi;v.elemloc-1=ch; v.last+; return True;BOOL del(sqlist if(locv.last) return False;else ch=v

10、.elemloc-1; for(j=loc-1;jv.last-1;j+) v.elemj=v.elemj+1; v.last-; return True;int Loc(sqlist v,char ch)/在线性表中查找 ch 的位置,成功返回其位置,失败返回-1int i=0;while(iv.last 章: 线性表提升实验9if(v.elemi=ch) return i;else return(-1);void print(sqlist v) /显示当前线性表所有元素int i;for(i=0;iv.last;i+) printf(“%c “,v.elemi);printf(“n“);void combine( sqlist int j=0 ;int k=0 ;while( i s1.last i+;else章: 线性表提升实验10s3.elemk=s2.elemj;j+;k+;if(i=s1.last)while(js2.last)s3.elemk=s2.elemj;k+;j+;if(j=s2.last)while(is1.last)s3.elemk=s1.elemi;k+;s3.last=k;

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。