实验一 线性表

实验一 线性表

ID:43451822

大小:71.10 KB

页数:8页

时间:2019-10-03

实验一  线性表_第1页
实验一  线性表_第2页
实验一  线性表_第3页
实验一  线性表_第4页
实验一  线性表_第5页
资源描述:

《实验一 线性表》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数据结构试验报告线性表学院:姓名:学号:时间:专业班级:线性表一、实验目的1.   掌握线性结构中顺序表和链表的基本概念、基本操作和应用;2.   掌握线性表的基本操作:建表、插入、删除、输出等运算在顺序存储结构和链式存储结构上的实现。3.通过本次实习加深对高级语言C语言的使用(特别是函数参数、指针类型、链表的使用)。熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现。二、实验内容1.  编写生成线性表的函数,线性表的元素从键盘输入,分别使用顺序和链式存储结构存储;2.编写在线性表中插入一个元

2、素的函数;3.编写在线性表中删除一个元素的函数;4.编写输出线性表的函数;5.编写主函数,调用以上各函数,以便能观察出原线性表以及作了插入或删除后线性表的屏幕输出。三、实验报告要求1.画出程序流程图并做简单分析2.源代码(包括主要结构、主要语句、函数注释说明)3.运行结果(包括程序如何使用,输入数据和输出结果)4.实验体会和问题分析四、基本原理(一)线性表是最常用的而且也是最简单的一种数据结构,线性表是N个数据元素的有限序列。例如26个英文元素的字母表(A,B,C,D,···),其数据结构的描述为:Line

3、ar_list=(D,R)其中,D={ai

4、ai属于ElemSet,i=1,2,3,···},R={

5、i=2,3,4,……}。本实验是以数组的形式把线性表存放在计算机内存的一个连续的区域内,这样便有:LOC(ai+1)=LOC(ai)+mLOC(ai)=L0+m*(i-1)其中,m是存放每个元素所占的内存字数,L0是a的地址,即首地址。(二)程序说明插入一个新元素到第i个位置,既把元素ai向后移一个位置,成为元素ai+1,把新元素放入到第i个位置,其他元素依次后移。插入后的表长是n+1(n

6、是原表长)。修改第i个元素,到第i个位置是把元素ai冲掉后存上新值。删除第i个元素就是把余后的元素依次向前移一个位置。即:以元素ai+1,ai+2,···,依次取代ai,ai+1,···。删除后的表长是n-1(n是原表长)。(三)线性表链式存储(选作)。五、实验程序#include#include#defineMAXSIZE20//数组最大界限typedefintElemType;//数据元素类型typedefstruct{ElemTypea[MAXSIZE];//一维

7、数组子域intlength;//表长度域}SqList;//顺序存储的结构体类型SqLista,b,c;voidcreat_list(SqList*L);voidout_list(SqListL);voidinsert_sq(SqList*L,inti,ElemTypee);ElemTypedelete_sq(SqList*L,inti);intlocat_sq(SqListL,ElemTypee);//主函数voidmain(){inti,k,loc;ElemTypee,x;charch;do{print

8、f("");printf("1.建立线性表");printf("2.插入数据元素");printf("3.删除数据元素");printf("4.查找数据元素");printf("0.结束程序运行");printf("==========================================");printf("请输入你的选择(1,2,3,4,0)");scanf("%d",&k);switch(k){case1:{creat_list(&a);out_lis

9、t(a);}break;case2:{printf("请输入插入位置:");scanf("%d",&i);printf("请输入要插入的数据元素值:");scanf("%d",&e);insert_sq(&a,i,e);out_list(a);}break;case3:{printf("请输入删除位置:");scanf("%d",&i);x=delete_sq(&a,i);out_list(a);if(x!=-1)printf("删除数据元素为:%d",x);elseprintf("要删

10、除的数据元素不存在!");}break;case4:{printf("请输入要查找的数据元素值:");scanf("%d",&e);loc=locat_sq(a,e);if(loc==-1)printf("未找到指定数据元素!");elseprintf("已找到,数据元素位置是%d",loc);}break;}}while(k!=0);printf("按回车键,返回...");ch=getch

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

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

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