网站大量收购闲置独家精品文档,联系QQ:2885784924

数据结构第一次上机实验报告.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第一次上机实验报告

数据结构第一次上机实验报告 一 实验题目: 基于顺序表实现集合的并,交,差运算 二 实验要求: 2.1:编写一个程序,实现顺序表的各种基本运算 (1)初始化顺序表h; (2)依次采用尾插法插入a,b,c,d,e元素; (3)输出顺序表h (4)输出顺序表h的长度 判断顺序表h是否为空 输出顺序表h的第三个元素 输出元素在a的位置 在第4个元素位置上插入f元素 输出顺序表h 删除L的第3个元素 输出顺序表 释放顺序表 2.2:编写一个程序,采用顺序表表示集合(集合中不存在重复的元素),并将其按照递增的方式排序,构成有序顺序表,并求这样的两个集合的并,交和差。 三 实验内容: 3.1 线性表的抽象数据类型: ADT List{ 数据对象;D= 数据关系:R1= 基本操作: InitList(L) 操作结果;构造一个空的线性表L DestroyList(L) 初始条件:线性表L已存在 操作结果:销毁线性表L ClearList(L) 初始条件:线性表L已存在 操作结果:将L置为空表 ListEmpty(L) 初始条件:线性表已存在 操作结果:若L为空表,则返回TRUE,否则返回FALSE ListLength(L) 初始条件:线性表已存在 操作结果:返回L中数据元素的个数 GetElem(L,i) 初始条件:线性表已存在,1=i=ListLength(L) 操作结果:用e返回L中第i个数据元素的值 LocateElem(L,i,e) 初始条件:线性表已存在,用循环遍历整个线性表,如果e与线性表中的元素相同; 操作结果:用此时的i+1返回该元素在线性表的位序 ListInsert(L,i,e) 初始条件:线性表存在,1=i=ListLength(L)+1; 操作结果:在L中第i个位置之前插入新的数据元素,e,L的长度加1。 ListDelete(L,i,e) 初始条件:线性表L已存在且非空,1=i=ListLength(L); 操作结果:删除L的第i个数据元素,并用e返回其值,L的长度减1 }ADT List 3.2存储结构的定义; #define LIST_INIT_SIZE 100 #define LISTINCREEMENT 10 typedef char ElemType; typedef struct { ElemType data[Maxsize]; int length; }SqList; 3.3基本操作实现: void InitList(SqList *L)//初始化顺序表 { L = (SqList *)malloc(sizeof(SqList));//用malloc动态申请一个顺序表的内存空间 L-length = 0; } void DestroyList(SqList *L) { free(L);//释放指针L } bool ListEmpty(SqList *L) { return (L-length == 0);//length为0表示表空 } int ListLength(SqList *L) { return (L-length); } void DispList(SqList *L) { int i; if(ListEmpty(L)) return ; for(i = 0;i L-length;i++) { printf(%c ,L-data[i]); printf(\n); } } bool GetElem(SqList *L,int i,ElemType e) { if(i 1||i L-length) return false; e = L-data[i-1]; return true; } int LocateElem(SqList *L,ElemType e) { int i = 0; while(i L-lengthL-data[i]!=e) { i++; } if(i = L-length) return 0; else return i+1; } bool ListInsert(SqList *L,int i,ElemType e) { int j; if(i 1||iL-length+1) return false; i--; for(j=L-length;ji;j--) L-data[j]=L-data[j-1]; L-data[i]=e; L-length++; return tr

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档