数据结构实验指书new(完整版).docVIP

  • 3
  • 0
  • 约1.53万字
  • 约 15页
  • 2016-10-16 发布于贵州
  • 举报
数据结构实验指书new(完整版)

数据结构实验指导书 实验一、 实验目的、 掌握线性表的基本操作:插入、删除、查找以及线性表合并等运算在链接存储结构上的运算。、 实验要求1、 认真阅读和掌握本实验的程序。2、 上机运行程序。3、 保存和打印出程序的运行结果,并结合程序进行分析。4、 按照,重新改写程序并运行,打印出文件清单和运行结果、 注意事项:、 实验Odsqlist.h文件: #define LIST_INIT_SIZE 8 //线性表存储空间的初始分配量 #define LISTINCREMENT 10 //线性表存储空间的分配增量 #define OVERFLOW -2 #define ERROR 0 #define OK 1 #define TRUE 1 #define FALSE 0 typedef int Status; typedef int ElemType; typedef struct { ElemType *elem; // 存储空间基址 int length; // 当前长度 int listsize; // 当前分配的存储容量(以sizeof(ElemType)为单位) }SqList; // 俗称 顺序表 typedef SqList OdSqList; //有序顺序表 Status InitList(OdSqList); // 结构初始化 void Destroy(OdSqList); //销毁有序顺序表 void ClearList(OdSqList);//清空有序表 Status ListEmpty(OdSqList);//判有序表为空 int ListLength(OdSqList);//求表长 int LocateElem(OdSqList,ElemType); // 查找 void ListInsert(OdSqList,ElemType); // 插入元素 Status ListDelete(OdSqList, int,ElemType ); // 删除元素 int ListDeletem(OdSqListL, ElemType e); // 删除所有值为e的元素,返回删除的元素个数 int ListDeletemn(OdSqList, ElemType, ElemType ); // 删除所有值界于mink~maxk的元素,并返回删除的元素个数 void ListTraverse(OdSqList);//遍历非递减有序线性表 odsqlist.cpp文件: #includestdio.h #includestdlib.h #include odsqlist.h Status InitList( OdSqList L ){ // 构造一个空的线性表 L.elem = (ElemType*) malloc (LIST_INIT_SIZE*sizeof(ElemType)); if (!L.elem) exit(OVERFLOW); L.length = 0; L.listsize = LIST_INIT_SIZE; return OK; } // InitList void ListTraverse(OdSqList L){ //遍历线性表 int i; printf(listsize is %d.\n,L.listsize); printf(listlength is %d.\n,L.length); printf(the list is:(); for(i=1;i=L.length;i++) printf(%d ,L.elem[i-1]); printf()\n); } int LocateElem(OdSqList L, ElemType e){ // 在顺序表中查询第一个满足判定条件的数据元素,若存在,则返回它的位序,否则返回 0 int i; i = 1; // i 的初值为第 1 元素的位序 ElemType *p; p = L.elem; // p 的初值为第 1 元素的存储位置 while (i = L.length *p++!=e) ++i; if (i = L.length) return i; else return 0; } void ListInsert(OdSqList L, ElemType e) { // 在顺序表L中保序插入新的元素e ElemType *newbase,*p,*q; if (L.length = L.listsize) { // 当前存储空间已满,增加分配 newba

文档评论(0)

1亿VIP精品文档

相关文档