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

数据结构实验报告35000字.docx

66页
  • 卖家[上传人]:杨***
  • 文档编号:321785243
  • 上传时间:2022-07-04
  • 文档格式:DOCX
  • 文档大小:60.41KB
  • / 66 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    •     数据结构实验报告35000字    课 程 实 验 报 告课程名称: 数据结构专业班级:学 号:姓 名:指导教师:报告日期:计算机科学与技术学院目 录1 课程实验概述 ............................................................................................................................... 2 2 实验一 基于顺序结构的线性表实现2.1 问题描述 ........................................................................................................................... 32.2 系统设计 ........................................................................................................................... 32.3 系统实现 ........................................................................................................................... 42.4 效率分析 ......................................................................................................................... 11 3 实验二 基于链式结构的线性表实现3.1 问题描述 ......................................................................................................................... 133.2 系统设计 ......................................................................................................................... 133.3 系统实现 ......................................................................................................................... 143.4 效率分析 ......................................................................................................................... 14 4 实验三 基于二叉链表的二叉树实现4.1 问题描述 ......................................................................................................................... 234.2 系统设计 ......................................................................................................................... 234.3 系统实现 ......................................................................................................................... 244.4 效率分析 ......................................................................................................................... 345 实验总结与评价 ......................................................................................................................... 351 课程实验概述本课程实验为数据结构试验,包括三个实验内容,实验目的在于:1.加深对数据结构和算法的理解,进一步提高学生编程能力;2.培养和提高学生分析问题与解决问题的综合能力;3.整理资料,撰写规范的实验报告。

      2 实验一 基于顺序结构的线性表实现2.1 问题描述基于顺序存储结构,实现线性表的基本的、常见的运算 实验要求: ⑴ 提供一个实现功能的演示系统⑵ 具体物理结构和数据元素类型自行选定⑶ 线性表数据可以使用磁盘文件永久保存2.2 系统设计线性表的顺序存储表示:typedef struct {ElemType *elem; 指针,指向顺序存放的一串数据元素int length; 表长(实际数据元素个数)int size; 表的大小(最多存贮数据元素个数)}SqList;相关函数的算法思想描述:InitList(&L) (创建表,此处是指表的初始化):(1)申请存储数据元素空间(2)置表长为0.DestroyList(&L) (销毁表):(1)释放存储数据元素的空间置指针值为NULLClearList(&L) (置表空):(1)置表长为空(length=0)ListEmpty(L) (判空):(1)若表长=0,返回TRUE,否则返回FALSEListLength(L) (求表长):(1)返回表长GetElem (L, i, &e) (获取数据元素):(1)将第i单元值赋值给eLocateElem( L,e,compare( ) ) (查找数据元素)(1)按compare条件顺序查找e,若找到(第一次找到)返回对应位序,若未找到返回0 PrioreElem( L, cur_e, &pre_e ) (获得前驱)(1)查找cur_e获取位序K(2)若K>1,将K-1号单元的元素赋值给pre_e并返回,否则返回ERROR。

      NextElem( L, cur_e, &next_e ) ( 获取后继):(1)查找cur_e, 获得位序K(2)若K<表长,将K+1号元素值赋值给next_e并返回,否则返回ERROR ListInsert( &L, i, e ) (插入数据元素):(1)移动元素,将位序为L.length ~ i 的数据元素顺序向后移动一个存储单元(2)插入新值,将e置入第i号存储单元 (3)修改表长,将表长加1ListDelete(&L, i, &e) (删除数据元素):(1)获取返回值,将i号单元数据值赋给e返回(2)移动元素,将序号i+1 ~ L.length的数据元素顺序前移一个存储单元 (3)修改表长,将表长减1ListTraverse( L, visit( ) )(1)调用visit函数顺序访问每一个数据元素,用L.length控制循环次数2.3 系统实现相关结构及函数原型的说明(C语言描述)/* Linear Table On Sequence Structure */#include #include #include #define LIST_INIT_SIZE 100 /*线性表存储空间的初始分配量*/#define LISTINCREMENT 10 /*线性表存储空间的分配增量*/#define OVERFLOW 0#define OK 1#define TURE 1#define FLASE 0#define ERROR 0/*------------------------------------------------------*/typedef int status;typedef struct{int item1;}Elemtype;typedef struct{Elemtype * elem;int length;int listsize;}SqList;/*------------------------------------------------------*/status IntiaList(SqList * L);status DestroyList(SqList * L);status ClearList(SqList L);status ListEmpty(SqList L);int ListLength(SqList L);status GetElem(SqList L,int i,Elemtype * e);status LocatElem(SqList L,Elemtype e,status (* equal)(Elemtype x,Elemtype y));status PriorElem(SqList L,Elemtype cur_e,Elemtype * pre_e);status NextElem(SqList L,Elemtype cur_e,Elemtype * next_e);status ListInsert(SqList *L,int i, Elemtype e);status ListDelete(SqList *L,int i, Elemtype e);status ListTrabverse(SqList L,void (* disply)(Elemtype e));/*------------------------------------------------------*/status equal(Elemtype x, Elemtype y);void display(Elemtype e);/*------------------------------------------------------*/void menu(void);/*------------------------------------------------------*/void main(void){SqList L1,L2;int op=0;L1.elem=L2.elem=NULL;do{system("cls");menu();printf(" Please input your option[0-12]:");scanf("%d",&op);switch(op){case 0:if(L1.elem){printf("\tPlease destory L1 first!");op=-1;getchar();getchar();}elseprintf("\n\t\tThe program is exitin。

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