实验一顺序表的操作1、实验目的和要求:1)了解顺序表的基本概念、顺序表结构的定义及在顺序表上的基本操作(插入、删除、查找以及线性表合并)
2) 通过在 visual C++ 实现以上操作的C 语言代码
3)提前了解实验相关的知识(尤其是C 语言)
2、实验内容:1) 顺序表的插入算法 , 删除算法 , 顺序表的合并算法2) 顺序表应用的实例(二选一)a) 利用顺序表的基本运行, 实现如果在顺序表A中出现的元素, 在顺序表B中也出现,则在顺序表A中将该元素删除
及实现A-B
b) 顺序表 A 和 B 的元素都是非递减排列,将他们合并成一个顺序表C,要求 C也是非递减排列
3、部分参考实验代码:⑴ 顺序表结构的定义:#include #define ListSize 100 typedef int DataType; typedef struct { DataType list[ListSize]; int length; }SeqList; ⑵ 顺序表插入(在第 i 号元素前插入一个新的元素)int InsertList(SeqList *L,int i,DataType e) /* 在顺序表的第 i 个位置插入元素e,插入成功返回 1,如果插入位置不合法返回 -1 ,顺序表满返回0*/ { int j; if(iL->length+1) /* 在插入元素前, 判断插入位置是否合法 */ { printf("插入位置 i 不合法
\n"); return -1; } else if(L->length>=ListSize) /* 在插入元素前,判断顺序表是否已经满,不能插入元素*/ { printf("顺序表已满,不能插入元素
\n"); return 0; } else { for(j=L->length;j>=i;j--)/*将第 i 个位置以后的元素依次后移*/ L-