精品文档
1、顺序表基本操作的实现
[问题描述] 在顺序表中查找值为x的元素的位置,在线性表的某个位置插入一个元素,删除线性表某个位置的元素。
[基本要求] 要求建立生成顺序表,可以键盘上读取元素,用顺序存储结构实现存储。
[实现提示] 要实现基本操作,可用实现的基本操作,也可设计简单的算法实现。 [建议步骤]
1)建立顺序表的存储结构;
2)利用1)的存储结构建立有实际数据的数据表; 3)实现查找操作; 4)实现插入操作; 5)实现删除操作。
6)写出main函数测试上述操作。
实验源码: #include
ElemType data[MAX]; int length;
}SqList;
可修改
精品文档
SqList L;
//打印菜单 void menu() { }
//初始化表,置表长为0 void Init(SqList *L) { }
可修改
printf(\ printf(\ 顺序表操作的验证实验\\n\
printf(\ printf(\ 1、初始化表\\n\ printf(\ 2、创建表\\n\ printf(\ 3、按值查询\\n\
printf(\ 4、在指定位置插入一个元素\\n\ printf(\ 5、删除指定位置上的一个元素\\n\ printf(\ 6、输出表\\n\ printf(\ 0、退出\\n\
printf(\
L->length=0;
精品文档
//创建表
void Creat(SqList *L) {
int n,i;
printf(\请确定表的长度:\ scanf(\ L->length=n;
printf(\请输入数据元素:\\n\
for(i=1;i<=n;i++) }
//显示列表 void PrintL(SqList *L) {
int i;
if(L->length==0) else {
printf(\空表,请首先创建表!\\n\
scanf(\
printf(\按任意任意键继续...\\n\ getch();
可修改
精品文档
}
printf(\当前表元素是:\\n\ for(i=1;i<=L->length;i++) { }
printf(\ \ if(i==0) printf(\
printf(\ }
printf(\按任意任意键继续...\\n\ getch();
//按值查询 void Search(SqList *L) {
int i,x;
printf(\请输入要查询元素的值:\ scanf(\
for(i=1;i<=L->length&&L->data[i]!=x;i++); if(i<=L->length)
printf(\元素%d第一次出现在表中第%d个位置上!\\n\
else printf(\表中没有元素 %d !\\n\ printf(\
可修改
精品文档
}
printf(\按任意任意键继续...\\n\ getch();
//在指定位置上插入一个元素 void Insert(SqList *L) {
int i,j,x;
printf(\请确定要插入的位置:\ scanf(\
printf(\请输入要插入的元素值:\
scanf(\ if(L->length>MAX) { }
if(i<1||i>L->length+1) else {
for(j=L->length;j>=i;j--)
L->data[j+1]=L->data[j];
可修改
printf(\表满!\\n\ return;
printf(\位置错!\\n\
顺序表基本操作的实现
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)