1、实验报告 1 线性表操作1 实验名称线性表操作2 实验目的2.1 掌握用 C 语言调试程序的基本方法。2.2 掌握用 C 语言实现教材数据结构(C 语言版严蔚敏) 中算法的基本方法。3 实验内容阅读和理解所提供的用 C 语言实现教材数据结构(C 语言版严蔚敏) 中算法 2.3、算法 2.4、算法 2.5 的 C 语言代码,并完整地写出测试用的 C 语言代码。4 实验要求4.1 所实现的各个算法的 C 程序代码都必须在 VC+ 6.0 中上机测试通过。4.2 完整地写出测试用的 C 语言代码(包括主函数及相关语句代码) 。5 测试用的主函数及相关语句代码特别说明:以上内容必须在实验报告中完整地写
2、出!参考:用 C 语言实现算法 2.3、算法 2.4、算法 2.5 的代码/程序文件 Common.h:目的是将要用到的公共定义语句做成一个头文件#define TRUE 1#define FALAW 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;/程序文件 LinearList_SequentialStorage.h:目的是将线性表的顺序存储结构定义与操作定/义做成做成一个头文件/#include “stdio.h“#include “stdlib.h“#inclu
3、de “Common.h“#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef int ElemType;typedef struct /顺序存储结构的定义ElemType *elem;int length;int listsize;SqList;/以下是操作的定义/初始化线性表的操作Status InitList_Sq(SqList *L) L-elem=(ElemType *)malloc(LIST_INIT_SIZE*sizeof(ElemType);if(!L-elem)printf(“初始化不成功!n“);exit(OVE
4、RFLOW);L-length=0;L-listsize=LIST_INIT_SIZE;printf(“初始化成功!n“);return(OK);/初始化线性表的操作Status ListInsert_Sq(SqList *L,int i,ElemType e) ElemType *newbase,*p,*q;if(iL-length+1)printf(“插入位置不合法!n“);return ERROR;if(L-length=L-listsize)newbase=(ElemType *)realloc(L-elem,(L-listsize+LISTINCREMENT)*sizeof(Elem
5、Type);if(!newbase)printf(“插入不成功!n“);exit(OVERFLOW);L-elem=newbase;L-listsize+=LISTINCREMENT;q=for(p=p=q;-p)*(p+1)=*p;*q=e;+L-length;printf(“插入成功!n“);return(OK);/显示线性表中数据元素的操作void ListDisplay_Sq(SqList L) int i;printf(“你的线性表是:n“);for(i=0;iL-length)return ERROR;p=*e=*p;q=L-elem+L-length-1;for(+p;plength;return OK;