数据结构顺序表实验报告.docx

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
完美 WORD 完美 WORD 格式 专业整理知识分享 专业整理 知识分享 洛阳理工学院实验报告 系别 计算机 班级 学号 姓名 课程名称 实验名称 实验目的: 数据结构 顺序表的基本操作 实验日期 成绩 10/23 熟悉掌握线性表顺序存储结构,掌握与应用顺序表的查找、插入、删除等基本操作算法,训练和提高结构化程序设计能力及程序调试能力。 实验条件: 计算机一台, Visual C++6.0 实验内容: 问题描述 以顺序表为存储结构实现以下基本操作: 在第 i 个元素前插入一个新元素。 查找值为 x 的某个元素。若成功,给出 x 在表中的位置;不成功给出提示信息。 删除第 i 个元素,若成功,给出提示信息并显示被删元素的值;不成功给出失败的提示信息。 数据结构类型定义 typedef struct { ElemType elem[MAXSIZE]; Int last; }SeqList; 模块划分 创建顺序表输入函数: void Input(SeqList *L,int n) ; 创建顺序表输出函数: void Output(SeqList *L) ; 创建顺序表的内容查找函数: int Locate(SeqList L,ElemType e) ; 创建顺序表的插入函数: int InsList(SeqList *L,int i,ElemType e) ; 创建顺序表的删除函数: int DelList(SeqList *L,int i,ElemType *e) ; 主函数: void main() 详细设计 #include stdio.h #include stdlib.h #include malloc.h #define OK 1 #define ERROR -1 #define TRUE 1 #define FALSE 0 #define ElemType int #define MAXSIZE 100 // 最大长度 typedef struct { ElemType elem[MAXSIZE]; int last; }SeqList; void Input(SeqList *L,int n) // 输入函数 { int i; printf( 请输入线性表的各元素值 :\n); for(i=0; in; i++) scanf(%d,L-elem[i]); } void Output(SeqList *L) // 输出函数 { int i; for(i=0; i=L-last; i++) printf(%2d,,L-elem[i]); printf(\n); } int Locate(SeqList L,ElemType e)// 内容查找函数 { int i; i=0; while((i=L.last)(L.elem[i])!=e) i++; if(i=L.last) return(i+1); // 返回序号 else return(-1); } int InsList(SeqList *L,int i,ElemType e)// 插入数据 { int k; if((i1) || (iL-last+2)) /* 首先判断插入位置是否合法 */ { printf( 插入位置不合法 \n); return(ERROR); } if(L-last= MAXSIZE-1) { printf( 表已满无法插入 ); return(ERROR); } for(k=L-last;k=i-1;k--) // 为插入元素而移动位置 L-elem[k+1]=L-elem[k]; L-elem[i-1]=e; // 第 i 个元素的下标为 i-1 L-last++; return(OK); } int DelList(SeqList *L,int i,ElemType *e) // 删除函数 /*在顺序表 L 中删除第 i 个数据元素,并用指针参数 e 返回其值。 i 的合法取值为 1≤i≤L.last+1 */ { int k; if((i1)||(iL-last+1)) { printf( 删除位置不合法 !\n); return(ERROR); } *e = L-elem[i-1]; /* 将删除的元素存放到 e 所指向的变量中 */ for(k=i; k=L-last; k++) L-elem[k-1] = L-elem[k]; /* 将后面的元素依次前移 */ L-last--; return(TRUE); } void main()// 主函数 {SeqList l,*la; int p,q,r,k,j ,m,num; printf( 请输入线性表的长度 :); scanf(%d,r); l.last = r-1;

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档