实验一---数据结构顺序表的插入和删除(共2页).doc
-
资源ID:12085551
资源大小:18.50KB
全文页数:2页
- 资源格式: DOC
下载积分:20金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
实验一---数据结构顺序表的插入和删除(共2页).doc
精选优质文档-倾情为你奉上实验一 顺序表的操作1. 实验题目:顺序表的操作2.实验目的和要求: 1)了解顺序表的基本概念、顺序表结构的定义及在顺序表上的基本操作(插入、删除、查找以及线性表合并)。 2) 通过在Turbo C(WinTc,或visual stdio6)实现以上操作的C语言代码。 3)提前了解实验相关的知识(尤其是C语言)。3.实验内容:(二选一)1) 顺序表的插入算法,删除算法,顺序表的合并算法2) 与线性表应用相关的实例(自己选择具体实例) 4.部分参考实验代码: 顺序表结构的定义: #include <stdio.h> #define MAXLEN 255typedef int ElemType;typedef struct ElemType elemMAXLEN; int length; sqList; 顺序表前插(在第i号元素前插入一个新的元素) int ListInsert(sqList *la,int i,int x) int j; if(i<0|i>la-> length +1) printf(“n the value of i is wrong!”); return 0; if(la-> length +1>=MAXLEN) printf(“n overflow!”); return 0;. for(j=la-> length;j>=i;j-) la->listj+1=la->listj; la->listi=x; la-> length +; return 1; 顺序表删除 int ListDelete(sqList *la,int i) if(i<0|i>la-> length) printf(“n the position is wrong!n”); return 0; for(i;i<la-> length;i+) la->listi-1=la->listi; la-> length -; return 1; 5.附录:实验预备知识: 复习C语言中数组的用法。 了解线性表和顺序表的概念,顺序表的定义方法; 线性表是n个数据元素的有限序列,至于每个数据元素的具体含义,在不同的情况下各不相同。 顺序表是线性表的顺序存储表示,是用一组地址连续的存储单元依次存储线性表的数据元素。 在C语言中,顺序表是用数组来实现的。 掌握线性表在顺序存储结构上实现基本操作:查找、插入、删除和合并的算法。 在实现这些算法的时候,要注意判断输入数据的合法性,除此之外还要要注意以下内容: 在实现查找的时候,首先要判断该顺序表是否为空,其次要判断查找后的结果(查到时输出查到的数据,未查到时给出未查到提示)。 在实现插入的时候,首先要判断该顺序表是否为满,如为满则报错(此时要注意:顺序表是用数组来实现的,它不能随机分配空间);如不为满,则需判断要插入的位置是否合法(例如:如果一个线性表的元素只有10个,而要在第0个元素前插入或在第11个元素后插入就为不合法)。其次要注意是前插还是后插,两者是有区别的;最后还要注意插入时各个数据元素移动的次序是从后面依次开始移动。 在实现删除的时候,首先要判断该顺序表是否为空,如为空则报错,如不为空,则需判断要删除的位置是否合法(例如:如果一个线性表的元素只有10个,而要删除第0个或第十一个元素就为不合法)。其次还要注意删除时各个数据元素移动的次序是从前面依次开始移动。 专心-专注-专业