数据结构上机实验

实验一 顺序表的实现
实验目的:熟练掌握顺序表的基本操作(插入、删除、查找等)
实验内容:顺序表中的基本操作的实现(初始化、插入、删除、求表长、按值查找、按位置查找)
实验要求:
以顺序表的顺序存储结构来实现;
所有基本操作均应该以函数的形式表示;
要有运行结果并考虑到顺序表中所有情况。
实验算法描述:
实验程序描述:
实验结果(输入和输出):
不要抄袭,运行没错误,再多加分。至明早12:00.

这个或许对你有所帮助,详细算法:

#include <iostream.h>
#include<stdlib.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= ";
cin>>n;
cout<<"请输入你要创建的顺序表:";
for(int i=0;i<n;i++)
{
cin>>L->elem[i];
L->Last++;
}
}
int Location(SeqList L,datatype x) //查找某元素所在位置
{
int i=0;
while(L->elem[i]!=x&&i<=L->Last)
{
i++;
}
if(i>L->Last)
return -1;
else
return i;
}
void Insertelem(SeqList L,datatype m) //插入元素
{
int n;
cout<<"请输入你要插入的位置n=";
cin>>n;
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;
cin>>n;
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++)
{
cout<<L->elem[i]<<" ";
}
cout<<endl;
}
void main() ///////////////主函数
{
SeqList L;
L=InitList();
CreateList(L);
int Opration;
cout<<"输入操作(1)为删除某元素(2)为插入(3)为查找(4)为输出当前顺序表(5)为退出"<<endl;
while(Opration!=5)
{
cin>>Opration;
if(Opration==1)
{
int n;
cout<<"请输入你要删除的元素n=";
cin>>n;
Deleteelem(L,n);
}
if(Opration==2)
{
int n;
cout<<"请输入你要插入的元素n=";
cin>>n;
Insertelem(L,n);
}
if(Opration==3)
{
datatype x;
cout<<"请输入你要查找的元素x=";
cin>>x;
cout<<"此元素在顺序表中的位置为:"<<Location(L,x)+1<<endl;
}
if(Opration==4)
{
ShowList(L);
}
if(Opration==5)
{
break;
}
}
}
温馨提示:内容为网友见解,仅供参考
无其他回答

数据结构上机实验(编程)(单链表的基本操作)
实验目的及要求1.熟悉线性表的基本运算在顺序存储结构上的实现;2.以线性表的基本操作(建表、插入、删除等)的实现为重点;3.通过本次实验帮助学生加深对C\/c++语言的使用(特别是函数... 实验目的及要求1.熟悉线性表的基本运算在顺序存储结构上的实现;2.以线性表的基本操作(建表、插入、删除等)的实现为重点;3....

求数据结构教程(第5版)上机实验题参考答案李春葆
第六题:

数据结构学什么
数据结构课程设计的实践教学(即上机实验)题分为基础性、综合性和设计性三大类。基础性(即知识验证性)类实验题主要用于巩固课堂知识,实现小程序的简单应用。综合性和设计性实验题属于大作业,讲述了完成设计性实验题则要实现从建模到解模的全过程,即实验者要独立完成:问题的抽象、数据的提取、数据的...

复数四则运算 数据结构
课程名称:数据结构 班级:xxxx 实验成绩:指导老师:××× 姓名:xxx 实验项目名称:复数四则运算 学号:2005810112 上机实践日期:实验项目编号:实验一 组号: 上机实践时间:学时 一. 目的(本次试验所涉及并要求掌握的知识点)熟悉抽象数据类型的表示和实现方法。抽象数据类型需借助固...

数据结构上机实验求答案
设计思路,根据题目要求,由于只是一个简单的顺序表,所以使用数组是最简便的操作。将数组封装到一个类当中,在类中封装插入、删除等相关操作。3~最后调试:这个帮不了你,不知道你自己会遇到什么问题。代码:这种代码一般情况下,一遍就能完成,基本上不需要调试,只需要修改语法错误即可。可以私信 ...

C 语言程序设计上机实验指导内容简介
C 语言程序设计上机实验指导是一本详尽的教材,分为十个部分,旨在深入讲解C语言的基础和应用。首章阐述C语言的概论,帮助读者建立基本认知。随后的章节详细探讨数据类型、运算符与表达式的运用,通过实例展示如何设计程序的顺序结构、选择结构和循环结构。在学习过程中,读者将接触并理解数组和指针的概念,...

算法与数据结构习题精解和实验指导目录
第1章,深入理解算法与程序,首先介绍了基本知识点,通过精心设计的习题帮助你巩固理解。接着,我们提供详细的解答,确保你能够掌握每一个概念。第2章,重点关注常用数据结构,从基础知识开始,一步步讲解。习题解答部分包括了各种典型问题的解答,帮助你熟练运用。此外,还特别提供了上机实验指导,让你在...

大一计算机实验心得
大一计算机实验心得(一)计算机网络课程的实验与我之前所经历的C语言和数据结构上机实验截然不同。后者主要考察个人对基础知识的掌握和编程技能的应用,可以说是个人的战场。而计算机网络实验则强调团队合作,要求我们注重实际操作和沟通配合,这门课程让我深刻体会到了团队协作的重要性。第一次实验是双绞线的制作,这个实验让...

上海交通大学数学系教学研究室
上海交通大学数学系的数学实验室,作为系内的实验中心和国家工科数学教学基地实验室,其主要职责是进行教学实验,为数学专业提供相关课程支持。实验室开设了包括《C语言程序设计》、《数据结构》、《VC++程序设计》和《数学软件》等在内的四门选修课程,其中涵盖了《SAS》、《Mathematica》和《Matlab》等数学...

《数据结构 课程设计》表达式求值 实验报告
算术表达式求值演示 一、概述 数据结构课程设计,要求学生在数据结构的逻辑特性和物理表示、数据结构的选择和应用、算法的设计及其实现等方面,加深对课程基本内容的理解。同时,在程序设计方法以及上机操作等基本技能和科学作风方面受到比较系统和严格的训练。在这次的课程设计中我选择的题目是算术表达式求值演示...

相似回答