- 1、本文档共18页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构实验,线性表的插入和删除,单链表操作,Huffman编码树
实验一 线性表的插入和删除
实验目的
掌握使用Turbo C上机调试线性表的基本方法;
掌握线性表的基本操作:插入、删除、查找以及合并等在顺序存储结构上的运算。
实验要求
认真阅读和掌握本实验的给定的程序;
按照你的操作需要,编制程序、上机调试运行程序;
保存程序的运行结果,并结合程序进行分析。
注意事项
在磁盘上创建一个目录,专门用于存储数据结构实验的程序。
实验内容
利用顺序表完成的管理增加、删除、、修改。#include iostream.h
#includestdlib.h
#define MAX 100
typedef int datatype;
typedef struct List
{
datatype elem[MAX];
int Last;
}*SeqList; //定义顺序表类型
SeqList InitList() //初始化顺序表
{
SeqList L;
L=(SeqList)malloc(sizeof(List));
L-Last=-1;
return L;
}
void CreateList(SeqList L) //创建顺序表
{
int n;
cout请输入你要创建的顺序表元素个数n= ;
cinn;
cout请输入你要创建的顺序表:;
for(int i=0;in;i++)
{
cinL-elem[i];
L-Last++;
}
}
int Location(SeqList L,datatype x) //查找某元素所在位置
{
int i=0;
while(L-elem[i]!=xi=L-Last)
{
i++;
}
if(iL-Last)
return -1;
else
return i;
}
void Insertelem(SeqList L,datatype m) //插入元素
{
int n;
cout请输入你要插入的位置n=;
cinn;
if((L-Last+1)MAX)
cout表以满,能插入endl;
else
{
L-Last++;
for(int i=L-Last;i=n-1;i--)
{
L-elem[i+1]=L-elem[i];
}
L-elem[n-1]=m;
}
}
void Deleteelem(SeqList L,datatype m) //删除表中某元素
{
int i;
i=Location(L,m);
while(i==-1)
{
datatype n;
cout你所查找的元素不在表中,请重新输入你要删除的元素endl;
cinn;
i=Location(L,n);
}
for(int j=i;j=L-Last;j++)
{
L-elem[i]=L-elem[i+1];
}
L-Last--;
}
void ShowList(SeqList L) //显示当前顺序表
{
cout当前顺序表元素为:;
for(int i=0;i=L-Last;i++)
{
coutL-elem[i] ;
}
coutendl;
}
void main() ///////////////主函数
{
SeqList L;
L=InitList();
CreateList(L);
int Opration;
cout输入操作:1为删除某元素,2为插入,3为查找,4为输出当前顺序表,5为退出endl;
while(Opration!=5)
{
cinOpration;
if(Opration==1)
{
int n;
cout请输入你要删除的元素n=;
cinn;
Deleteelem(L,n);
}
if(Opration==2)
{
int n;
cout请输入你要插入的元素n=;
cinn;
Insertelem(L,n);
}
if(Opration==3)
{
datatype x;
cout请输入你要查找的元素x=;
cinx;
cout此元素在顺序表中的位置为:Location(L,x)+1endl;
}
if(Opration==4)
{
ShowList(L);
}
if(Opration==5)
{
break;
}
}
}
实验二 单链表操作
实验目的
掌握握单链表的基本操作:插入、删除、查找等运算;
理解掌握使用结构体来表述复杂信息的方法及其基本操作。
实验要求
认真思考,编
您可能关注的文档
最近下载
- 2021-2024年数学竞赛AIME II真题含答案(共4套).pdf
- 变电站值班员试题库(职业鉴定:初、中、高级工).pdf VIP
- 洁净制药厂净化空调毕业的设计.doc
- 高一上学期期末数学试卷(基础篇)(解析版).docx
- 虚拟实验室在高中化学教育中的应用研究教学研究课题报告.docx
- 《教育强国建设规划纲要(2024—2035年)》解读与培训.pptx
- 作业9:工学一体化课程《小型网络安装与调试》任务4学习任务工作页 .docx VIP
- 人教版六年级下册语文必背内容(古诗、课文、日积月累).pdf VIP
- 员工考勤表表格电子版.docx VIP
- 中国电信新一代bss3 0_计费技术要求分册v1 0.pdf
文档评论(0)