2021年数据结构实验报告顺序表和链表.docxVIP

  • 74
  • 0
  • 约4.05千字
  • 约 11页
  • 2021-08-20 发布于江苏
  • 举报

2021年数据结构实验报告顺序表和链表.docx

2021年数据结构实验报告顺序表和链表 2021年数据结构实验报告顺序表和链表 PAGE / NUMPAGES 2021年数据结构实验报告顺序表和链表 实 验 报 告 课程名称 数据结构 试验项目 试验一 线性表生成与操作 题目一 次序表和链表创建与基础操作 系 别___ _计算机学院 _ ______ 专 业__ __计算机大类_ __ 班级/学号__(1406/011288)_____ 学生姓名 _______(孙文学)_________ 试验日期 _(10月19日) 成 绩 _______________________ 指导老师 黄改娟 试验题目: 试验一 线性表生成与操作 次序表和链表创建与基础操作(自己所选择试验题目, 必填) 试验目 掌握线性表次序存放和链式存放结构; 验证次序表及链表基础操作实现; (验证) 了解算法与程序关系, 能够将算法转换为对应程序; 体会线性表在实际应用中能够处理问题。(设计、 综合) 试验内容 依据试验一题目列表, 选定题目, 说明题目关键需求; 结合所选定题目, 定义存放结构, 并完成对应应用线性表创建、 插入、 删除、 查找等基础操作算法描述; 程序编码实现, 并取得运行结果。 汇报内容 试验题目及关键存放结构定义 (提醒: 请依据所选定题目, 描述存放结构) 题目: 次序表和链表创建及基础操作 次序表我是采取数组存放, 链表是采取结构体存放 结合题目, 说明对对应线性表基础操作算法描述 (提醒: 可用自然语言、 步骤图、 伪代码等均可, 要求对每一个操作, 都给出具体算法描述) 基础操作: #次序表# 插入: 在线性表中x位置插入y将x位置及以后元素都往后挪一位, 将y值赋给a[x]. 删除: 删除位置为x元素另y=a[x],然后x以后元素都往前挪一位。 查找: 寻求值为y元素从a[0]开始, 若a[i]==y, 则返回i, 不然i++。 #链表# 插入: 当i小于要插入位置x时, i++, 插入p-datap-next=s-next;s-next=p; 删除: 当p-data不等于要删除值x时, p=p-next; q=p-next; p-next=q-next; free(q); (3)查找: 当p-data!=x时, p=p-next, 找到以后返回p-data 程序源码 (提醒: 列出所编写程序代码。假如利用图形界面IDE等编程, 这里只要求写出关键操作程序代码。另外, 程序一定要有注释说明) 次序表基础操作(用数组实现) #includestdlib.h #includestdio.h int main(){ int *a; int N,i,j,e,x; printf(请输入线性表长度N: ); scanf(%d,N); a=(int *)malloc(N*sizeof(int)); for(i=0;iN;i++) //初始化 a[i]=i; printf(初始次序表为: ); for(i=0;iN;i++) printf(%d ,a[i]); printf(\n); printf(插入请输0, 删除请输1, 查找输入2: ); scanf(%d,x); if(x==0){ printf(请输入插入位置i和数e: );//插入 scanf(%d%d,i,e); a=(int *)realloc(a,(N+1)*sizeof(int)); for(j=N-1;j=i-1;j--) { a[j+1]=a[j]; } a[i-1]=e; for(i=0;iN+1;i++) printf(%d ,a[i]); printf(\n); } else if(x==1){ //删除 printf(请输入删除位置i:); scanf(%d,i); for(i;iN;i++) a[i-1]=a[i]; for(i=0;iN-1;i++) printf(%d ,a[i]); printf(\n); } else if(x==2){ //查找 printf(请输入查找位置i:); scanf(%d,i); e=a[i-1]; printf(%d\n,e); } else { printf(输入错误! ); } free(a); a=NULL; return 0; } 单链表基础操作 #includestdio.h #includestdlib.h #define ERROR 0 #define OK 1 typedef int status; typedef int ElemType; typedef s

文档评论(0)

1亿VIP精品文档

相关文档