数据结构实验报告-顺序表的创建、遍历及有序合并操作二、实验内容与步骤实现顺序表的创建、遍历及有序合并操作,基本数据结构定义如下:typedef int ElemType;#define MAXSIZE 100#define FALSE 0#define TRUE 1typedef struct{ElemType data[MAXSIZE];int length;}seqlist;创建顺序表,遍历顺序表#include#include#define MAXSIZE 100#define Icreament 20#define FALSE 0#define TRUE 1typedef int ElemType;//用户自定义数据元素类型// 顺序表结构体的定义typedef struct{ElemType *elem;//顺序表的基地址int length;//顺序表的当前长度int listsize;//预设空间容量}SqList;//线性表的顺序存储结构SqList* InitList()//创建空的顺序表{SqList* L = (SqList*)malloc(sizeof(SqList));//定义顺序表Lif(!L){printf("空间划分失败,程序退出\n");return NULL;}L->elem=(ElemType *)malloc(MAXSIZE*sizeof(ElemType));if(!L->elem){printf("空间划分失败,程序退出\n");return NULL;}L->length=0;L->listsize=MAXSIZE;return L;}int CreateList(SqList* L)//创建顺序表(非空){int number;//顺序表中元素的个数int i;//循环变量printf("请输入顺序表中元素的个数:");scanf("%d",&number);if(number > MAXSIZE)//一定要判断输入的个数是否大于顺序表的最大长度{printf("输入个数大于顺序表的长度\n");return 0;}for(i=0;ielem+i);//L->elem+i:每次的输入都保存在顺序表元素中的下一个地址,而不是一直放在元素的首地址}//给顺序表中每个数据元素赋值L->length=number;//当前顺序表的长度return 1;}void print(SqList* L)//遍历顺序表{int i;printf("\n 开始遍历顺序表\n");for(i=0;ilength;i++){printf("%d",*(L->elem + i)); //L->elem+i:和输入是一个道理}printf("\n 遍历结束\n");printf("\n");}int main(){SqList* L = InitList();//申请一个指向顺序表的指针,并对其初始化if(!L)//判断申请是否成功{printf("初始化线性表失败\n");return 1;}if(!CreateList(L))//判断创建顺序表是否成功{printf("创建顺序表失败\n");return 1;}print(L);//打印顺序表与上面遍历顺序表相对应,若没有就不遍历free(L->elem);//释放申请的顺序表元素的内存free(L);//释放申请的顺序表内存return 0;}表的有序合并...