实验一顺序表的操作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(i<1||i>L->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->list[j]=L->list[j-1]; L->list[i-1]=e; /* 插入元素到第 i 个位置 */ L->length=L->length+1; /* 将顺序表长增 1*/ return 1; } } ⑶ 顺序表删除 int DeleteList(SeqList *L,int i,DataType *e) { int j; if(L->length<=0) { printf("顺序表已空不能进行删除!\n"); return 0; } else if(i<1||i>L->length) { printf("删除位置不合适 !\n"); return -1; } else { *e=L->list[i-1]; for(j=i;j<=L->length-1;j++) L->list[j-1]=L->list[j]; L->length=L->length-1; return 1; } 实验二单链表的操作1、实验目的1)掌握用 Visual C++6.0上机调试单链表的基本方法2)理解链表的基本操作、了解链表的建立和输出3)掌握链表的插入、删除、合并和归并等实现方法2、实现内容1、单链表基本操作的实现2、链表应用的实例(二...