下载此文档

顺序表的实现-包含插入-删除-查找等操作-完整源代码-有注释.doc


文档分类:IT计算机 | 页数:约11页 举报非法文档有奖
1/11
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/11 下载此文档
文档列表 文档介绍
实验一 顺序表的实现
实验目的:熟练掌握顺序表的基本操作(插入、删除、查找等)
实验内容:顺序表中的基本操作的实现(初始化、插入、删除、求表长、按值查找、按位置查找)
实验要求:以顺序表的动态分配存储结构来实现;所有基本操作均应该以函数的形式表示;要有运行结果并考虑到顺序表中所有情况。
一、实验算法描述:
1、顺序表的声明和创建
typedef struct
{
int* data;//int*型元素
int length;//顺序表的实际长度
int listsize;//顺序表的最大长度
}sqlist;
void creatsqlist(sqlist &list)
{
=(int*)malloc(sizeof(int)*maxsize);//开辟一个名为l的顺序表
if(!)//判断顺序表是否存在
exit(1);
=0;
=maxsize;
}
2、初始化函数initsqlist(list)
void initsqlist(sqlist &list)//初始化操作
{
int* p;
int n;
cout<<"请输入顺序表元素数(1-50):"<<endl;//让用户输入顺序表元素个数
cin>>n;
cout<<"您申请的顺序表的长度是---"<<n<<endl;
p=;//p指向头指针
cout<<"请依次输入无重复数字的有序顺序表(相邻数据用空格隔开,回车键完成输入):"<<endl;
for(int i=0;i<n;i++)//逐个赋值
{
cin>>*p;
p++;
++;
}
cout<<"您输入的递增顺序表为:"<<endl;//打印出初始化的顺序表
for(i=0;i<n;i++)
cout<<[i]<<"\t";
cout<<endl;
}
3、输出函数put(list)
void put(sqlist &list) //输出函数
{ int i;
for(i=0;i<;i++)
cout<<[i]<<"\t";
cout<<endl;
}
4、定位函数locateElem(list)
void locateElem(sqlist &list)
{
int i,j=0,b;
cout<<"请输如要查找的字符:\n";
cin>>b;
for(i=0;i<;i++)
if([i]==b)
{j=i+1;break;}
if(j)
cout<<"该数字的位置是:"<<j<<endl;
else
cout<<"很抱歉,表中没有这个数字,请重试!"<<endl;
}
5、插入函数insert(list)
void insert(sqlist &list)//插入函数
{
int i;
cout<<"您想在第几位插入数字:\n";
cin>>i;
int x;
cout<<"请输入要插入的数字:\n";
cin>>x;
int j;
if(i<0||i>)
{
cout<<"位置错误"<<endl;
put(list);
}
else
{ for(j=;j>=i;j--)
[j]=[j-1];
[j]=x;
++;
}
cout<<"插入操作完成后的顺序表:"<<endl;
put(list);
}
6、删除函数delete1(list)和delete2(list)
void delete1(sqlist &list)//删除第i个位置的数字的函数
{
int i,b;
cout<<"请输入你想要删除数据的位置:"<<endl;
cin>>i;
if(i<0||i>)
{cout<<"输入错误!"<<endl;return;}
else
{b=[i-1];
for(i=i-1;i<-1;i++)
list.

顺序表的实现-包含插入-删除-查找等操作-完整源代码-有注释 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数11
  • 收藏数0 收藏
  • 顶次数0
  • 上传人qiang19840906
  • 文件大小1.49 MB
  • 时间2020-11-26