数据结构实验报告1线性表的顺序存储结构

更新时间:2023-12-14 05:54:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

数据结构实验报告(1) 学院: 专业: 班级: 姓名 实验时间 实验项目名称 实1. 熟练掌握线性表的基本操作在顺序存储和链式存储上的实现; 验2. 以线性表的各种操作(建立、插入、删除等)的实现为重点; 目3. 掌握线性表的动态分配顺序存储结构的定义和基本操作的实现; 的 实验 条件 实1. 根据实验内容编程,上机调试、得出正确的运行程序。 验原理 实 验 2011-10-28 学号 指导教师 线性表的顺序存储结构 实验组 成绩 运行Visual c++的微机一台 2. 编译运行程序,观察运行情况和输出结果。 3. 写出实验报告(包括源程序和运行结果 #include #include using namespace std; typedef int ElemType; struct List{ ElemType *list; int size; int Maxsize;}; void initList(List &L) { cout<<\请输入线性表空间大小L.Maxsize:\ cin>>L.Maxsize; L.list=new ElemType[L.Maxsize]; 1 步 骤 程 序 清 单 if(L.list==NULL) { cout<<\空间用完\ exit(1); } L.size=0;} void traverseList(List L) {for(int i=0;iL.size+1)) { cout<<\位置无效\ return false;} if(L.size=L.Maxsize) { int k=sizeof(ElemType); L.list=(ElemType*)realloc(L.list,2*L.Maxsize*k); if(L.list==NULL) {cout<<\分配不成功\ exit(1); } L.Maxsize=2*L.Maxsize; } for(i=L.size-1;i>=pos-1;i--) L.list[i+1]=L.list[i]; L.list[pos-1]=item; L.size++; return true;} bool deleteList(List &L,int pos) {int i; if((pos<1)||(pos>L.size)) {cout<<\位置无效\ return false;} if(L.size==0) {cout<<\线性表为空\ return false;} for(i=pos;i10) {)/L.Maxsize int k=sizeof(ElemType); L.list=(ElemType*)realloc(L.list,L.Maxsize*k/2); L.Maxsize =L.Maxsize/2;} 2 return true;} void main() {int i,n; List k; ElemType pos1,pos2,x; initList(k); cout<<\输入线性表元素的个数:\ cin>>n; cout<>k.list[i]; k.size++;} traverseList(k); cout<<\输入要插入的位置:\cin>>pos1; cout<<\输入要插入的值:\cin>>x; if(insertList(k,x,pos1)) {cout<<\插入成功\ traverseList(k);} else cout<<\插入失败\cout<<\输入待删除的元素的位置:\ cin>>pos2; if(deleteList(k,pos2)) {cout<<\删除成功\ traverseList(k);} else cout<<\删除失败\} 1.输入一组整型数据,建立顺序表。 实验3.实现该线性表的删除。 内容 5、实现该线性表的插入。 5、编写一个主函数,调试上述算法。 2.实现该线性表的遍历。 3 实验数据 实此次实验总的来说还算成功,顺利地完成了实验内容。基本掌握了线性表验分析与总现。 结 入、删除等)的实现,了解线性表的动态分配顺序存储结构的定义和基本操作的实的基本操作在顺序存储和链式存储上的实现,完成了线性表的各种操作(建立、插指导教师意见 4

本文来源:https://www.bwwdw.com/article/pb45.html

Top