好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

洛阳理工学院数据结构实验报告.docx

3页
  • 卖家[上传人]:pu****.1
  • 文档编号:398434375
  • 上传时间:2022-09-09
  • 文档格式:DOCX
  • 文档大小:12.30KB
  • / 3 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 洛阳理工学院数据结构实验报告 ; 洛阳理工学院实验报告系部 计算机与信息班级 项目系 课程名称 实验名称 数据结构 实验1:顺序表的根本操作 实验日期 2023.3.5 成绩学号姓名实验目的: 掌握线性表的根本操作:插入、删除、查找在顺序存储结构上的实现 实验条件: 电脑一台,VC++6.0 实验内容与步骤: 内容:建立一有序的顺序表,并实现以下操作: 1. 把元素x插入表中并保持有序; 2.查找值为x的元素,假设找到将其删除; 3.输出表中各元素的值 步骤: 1、先将插入的元素与最后一个元素比拟,假设小,将最后一个元素向后移动一个位置继续与次位比拟,假设还小,继续移动直到比它大时,不在移动,然后将要插入的元素插入,最后再让表长加一 2、调用查找函数找出所删除元素的下表,并返回其值:先从第一个元素开始找,如果找到了,返回下标值;如果到表的结尾还没有找到就返回-1 3、对于找到所删除元素,就从该元素开始,每一元素都往前移动,然后让表长减一 4、调用输出函数,输出表中各元素的值时,将其封装成一个函数传入该函数中的参数是一个指向该顺序表的指针 运行结果: 实验总结: 通过此次的实验使我根本掌握了顺序表的函数的输入输出、查找、插入和删除等顺序表的根本操作,还有加深对函数之间的调用,对选择语句的加深。

      在学习数据结构时一定有多上计实践,才能更好的发现错误,才能让我们注意到更多的细节之处,更能加深我们对课本知识的掌握附:源程序: #include #include#define MAXSIZE 50//此处宏定义数组最大长度 #define OK 1 #define ERROR 0 typedef struct{int elem[MAXSIZE];//线性表占用数组空间 int last;//记录现性表中最后一个元素的下表}SeqList;/*******************************************/ //顺序表按内容查找函数//功能:在顺序表L中查找与e相等的元素 /********************************************/ int Locate(SeqList *L,int e) {int i=0;//i为扫描计数器while((ilast)&&(L->elem[i]!=e)) //顺序扫描表,直到找到职位e的元素,或扫面到表尾没有找到}/*********************************************************/ /****************输入函数*********************************/ /*********************************************************/ void Input(SeqList* L) {int n,j;printf(\输入数组长度n:\scanf(\printf(\输入数组元素\\n\for(j=0;jscanf(\L->last=n-1;i++;if(ilast)return(i+1); //假设找到值为e的元素,返回i+1elsereturn(-1);//假设没找到,返回空序列号/*********************************************************/ /****************输出函数*********************************/ /*********************************************************/ void Output(SeqList* L) {int i;for(i=0;ilast;i++)}/****************************************************/ //顺序表的插入函数printf(\printf(\//功能:在顺序表L中插入一个元素e。

      i的合法位子为1~L->last+2 /***************************************************/ int InList(SeqList* L,int e) { int i;}/*************************************************/if(L->last==MAXSIZE-1) {}for(i=L->last;i>=0&&eelem[i];i--)L->elem[i+1]=L->elem[i]; printf(\溢出\\n\return(ERROR);L->elem[i+1]=e;L->last++;return(OK);//顺序表的删除函数//功能:在顺序表L中删除第i个元素,1last+1 /************************************************/ void DelList(SeqList* L,int i) {}/*******************************************************/ //*****************主函数*******************************/ /*******************************************************/ void main() {int b,e,e1,e2,chiose;printf(\选择1函数输入*********************\\n\printf(\选择2函数插入*********************\\n\printf(\选择3函数删除*********************\\n\printf(\选择4函数输出*********************\\n\int a=1; SeqList *L,p; L=&p; }for(k=i;klast;k++)L->elem[k-1]=L->elem[k]; //将后面的元素次前移 int k;if((iL->last+1)) {printf(\删除位置不合法\L->last--; 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.