实验1顺序表操作

实验一 顺序表操作

科目:数据结构实验和课程设计 班级: 10信管 姓名: 徐杨 学号:2010110450 实验目的:

会定义线性表的顺序存储类型。熟悉C语言程序的基本结构,掌握程序中的用户头文件、文件之间的相互关系及各自的作用。熟悉对顺序表的一些基本操作和具体的函数定义。熟悉C语言操作环境的使用以及多文件程序的输入、编辑、调试和运行的全过程。 实验要求:

认真阅读和掌握本实验内容所给的全部程序。保存和输出程序运行结果,并结合程序进行分析。按照你对顺序表操作的需要,编写程序代码然后运行,给出运行结果。 实验设备:

每人一台安装VC6.0编写软件的计算机,公用打印机。 注意事项:

要在硬盘上建立好自己的工作目录,专门用来存储自己所做的实验程序及相关数据,以后每次做实验最好仍采用这个目录。认真编写算法及运行结果,针对本实验的具体算法,认真写出算法分析。 实验步骤:

#include//顺序表的有关操作 typedef int datatype; #define MAXSIZE 64

struct sequenlist{datatype data[MAXSIZE];int last;}; sequenlist l;

void create();//建立一个顺序表 void disp();//显示顺序表的内容

int locate(datatype x);//查找有无某一给定的数值

void insert(datatype x,int i);//将值为x的新结点插入到顺序表中的第i个结点的位置上 void deleter(int i);//删除顺序表中的第i个结点 void main() { create(); //新建一个顺序表 disp(); //显示你新建的顺序表内容 datatype x;cout<<\请输入需要查找的元素:\ int i=locate(x);//查找数值为x的元素 if(i==1)cout<<\本顺序表中有\本顺序表中没有找到\ cout<<\请输入需要插入的数据和位置:\ insert(x,i); //将值为x的新结点插入到顺序表中的第i个结点的位置上 disp(); //显示顺序表的内容 cout<<\输入要删除顺序表中的第几个结点:\ deleter(i); //删除顺序表中的第i个结点 disp(); //显示顺序表的内容 }

void disp() //显示顺序表的内容 { cout<<\你新建的顺序表内容为:\ for(int i=0;i<=l.last;i++)cout<<\void create() //建立一个顺序表

{for(int i=0;i<9;i++)l.data[i]=i+1;l.last=i-1;}

int locate(datatype x)//从已知的顺序表中查找有无某一给定的数值 {for(int i=0;i<=l.last;i++)if(l.data[i]==x)return 1;return 0;}

void insert(datatype x,int i)//将值为x的新结点插入到顺序表中的第i个结点的位置上 {if(l.last0&&i<=l.last+2)){for(int j=l.last+1;j>i-1;j--)l.data[j]=l.data[j-1];l.data[j]=x;l.last++;} }

void deleter(int i)//将顺序表中的第i个结点删除掉

{if(l.last>-1&&(i>=1&&i<=l.last+1)){for(int j=i;j<=l.last-1;j++)l.data[j-1]=l.data[j];l.last--;} }

运行结果:

算法分析:

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4