线性表及其实现(实验二)
更新时间:2023-12-04 04:33:01 阅读量: 教育文库 文档下载
- 线性表及其实现实验报告推荐度:
- 相关推荐
实验 二 线性表及其实现
一.实验目的及要求
(1) 熟悉线性表的基本运算在两种存储结构(顺序结构和链式结构)上的实现,以
线性表的各种操作(建立、插入、删除等)的实现为实验重点;
(2) 通过本次实验帮助学生加深对顺序表、链表的理解,并加以应用; (3) 掌握循环链表和双链表的定义和构造方法
二.实验内容:
(1) 编程实现线性表两种存储结构(顺序存储、链式存储)中的基本操作的实现(线
性表的创建、插入、删除和查找等),并设计一个菜单调用线性表的基本操作。
(2) 建立一个按元素递增有序的单链表L,并编写程序实现: a) 将x插入其中后仍保持L的有序性;
b) 将数据值介于min和max之间的结点删除,并保持L的有序性; c) 将单链表L逆置并输出;
(3) 编程实现将两个按元素递增有序的单链表合并为一个新的按元素递增的单链
表。
三.实验主要流程、基本操作或核心代码、算法片段(该部分如不够填写,请另加附页)
(1) 编程实现线性表两种存储结构(顺序存储、链式存储)中的基本操作
的实现(线性表的创建、插入、删除和查找等),并设计一个菜单调用线性表的基本操作。
? 程序代码:
顺序存储:
头文件:
#define INIT_SIZE 100 #define INCREMENT 10 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define INFEASIBLE -1 #define OVERFLOW -2
typedef int Status; typedef int ElemType; typedef struct {
ElemType *elem;
int length; int listsize;
}Sq;
Status Init_Sq(Sq &L);
Status Insert_Sq(Sq &L,int i,ElemType e); Status Delete_Sq(Sq &L,int i,ElemType &e);
主函数:
#include\#include\#include\ int main() {
Sq L;
printf(\、建立\\n\printf(\、退出程序\\n\int a;//选择是否建立 scanf(\switch(a) { case 1: }
printf(\请输入要放入顺序表中的元素个数(不要超过100)\\n\int i;//进行用户输入循环 printf(\请输入具体元素\\n\for(i=0;i int b;//选择操作 do{ printf(\请选择下列操作\\n\ printf(\、向表中添加元素\\n\ printf(\、删除表中某一元素\\n\ printf(\、退出程序\\n\ scanf(\ Init_Sq(L); break; printf(\程序结束!\\n\ exit(OVERFLOW); printf(\是否建立顺序表?\\n\ case 2: default:printf(\输入错误!\\n\ scanf(\ } scanf(\ switch(b) { case 1: } case 3: printf(\程序结束!\\n\ exit(OVERFLOW); ElemType x;//新元素 int c;//新元素位置 scanf(\int j;//新表输出循环 printf(\新表为:\\n\for(j=0;j printf(\} printf(\break; printf(\请输入要添加的元素,和添加的位置(空格隔开)\\n\ Insert_Sq(L,c,x); case 2: int d;//需要删除元素的位置 ElemType y;//被删除的元素 printf(\请输入删除元素的位置\\n\scanf(\Delete_Sq(L,d,y); printf(\被删除的元素是%d\\n\printf(\剩下的元素为:\\n\int f;//输出循环 for(f=0;f printf(\} printf(\break; default:printf(\输入出错!\\n\ }while(b!=3); return 0; 功能函数: #include\#include\#include\ Status Init_Sq(Sq &L) { L.elem=(ElemType *)malloc(INIT_SIZE*sizeof(ElemType)); if(!L.elem) exit(OVERFLOW); L.length=0; L.listsize=INIT_SIZE; return OK; } Status Insert_Sq(Sq &L,int i,ElemType e) { if(L.length==100) { int *newpase; if(!newpase) exit(OVERFLOW); L.elem=newpase; L.listsize+=INCREMENT; newpase=(ElemType *)realloc(L.elem,(L.length+INCREMENT)*sizeof(ElemType)); } if(i<1||i>L.length+1) { return ERROR; } L.length+=1; int b=L.length;//用于循环 while(i<=b) { L.elem[b]=L.elem[b-1]; b--; } L.elem[i-1]=e; return OK; } Status Delete_Sq(Sq &L,int i,ElemType &e) { if(i<1||i>L.length+1) { return ERROR; } e=L.elem[i-1]; int j; for(j=i-1;j L.elem[j]=L.elem[j+1]; } L.length-=1; return OK; } 链式存储: 头文件: #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 #define INFEASIBLE -1 #define OVERFLOW -2 typedef int Status; typedef int ElemType; typedef struct LNode{ ElemType data; void Create_L(int n,LinkList &L); Status Insert_L(LinkList &L,int i,ElemType e); Status Delete_L(LinkList &L,int i,ElemType &e); Status GetElem_L(LinkList L,int i,ElemType &e); 主函数: #include\#include\ int main() { printf(\是否建立链表\\n\ int a;//选择 struct LNode *next; }LNode,*LinkList;
正在阅读:
线性表及其实现(实验二)12-04
半导体物理学练习题(刘恩科)11-25
小学二年级英语期末试题07-03
人在奥运年02-17
最新-2018学年第一学期期中杭州地区七校联考试卷高一年级物理试卷及答案 精品09-23
便捷公寓业务操作手册05-15
初中班主任研修日志4篇02-21
地下水调研分析报告(精选多篇)09-28
个人向全委会作工作报告08-27
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 线性
- 及其
- 实验
- 实现
- 监理管理导则2015版
- 广西2017年口腔执业医师:基因工程与医学(生物化学)考试试卷
- (中学班会教案)中学生早恋主题班会教案
- Linux基础操作实验报告
- 山东省济南市12中七年级期中考试(语文)无答案
- 2019年高中政治专题二马克思主义政治经济学的伟大贡献检测B新人教版选修2
- 最新小学五年级数学下册第三单元导学案
- 新时期下加强医德医风建设的实践探索
- 高考二轮复习高考地理 第三部分 区域可持续发展
- Linux期末考试复习试题(含答案)要点 - 图文
- 部编版小学语文二年级上册第三单元:达标测试卷
- 录播教室的建设与应用研究
- 初中历史人教版《八年级下》《第四单元 民族团结与祖国统—》《第13课 海峡两岸的交往》精品专题课后练
- 企业使命、愿景、核心价值观 - 图文
- 科研课题知情同意书
- 七年级生物下册 第三单元 第六章 免疫与健康 论免疫与营养健康的关系素材(新版)济南版
- 人教部编版三年级语文下册第二单元测试题及答案(两套)
- 房地产项目管理试题
- 暑假3套试卷
- 2016部编版历史七年级上册第四单元 第17课 西晋的短暂统一和北方各族的内迁练习题(解析版)