![](https://iknow-base.cdn.bcebos.com/lxb/notice.png)
线性表的(动态分配)顺序表的实现。请各位高手帮忙解答,我实在不会
屏幕显示效果为,比如请输入数据个数:3(回车)第一个数:7(回车)第二个数:4(回车)第三个数:5(回车)线性表为:7,4,5请输入插入的位置:2(回车)请输入插入的数据...
屏幕显示效果为,比如 请输入数据个数:3 (回车)
第一个数:7(回车)
第二个数:4 (回车)
第三个数:5 (回车)
线性表为:7,4,5
请输入插入的位置:2 (回车)
请输入插入的数据:10 (回车)
线性表为:7,10,4,5
说明:sq为顺序存储结构(结构体类型)
elemtye指定为int
lnitlist_sq(sq@l)初始化(定义100个int的大小)
creat_sq(sq@l,int m) 输入m个数建立顺序表,每个数据用回车确定输入(不考虑空间不够的情况)
print_sq(sq@l)输出顺序表的数据,用逗号分隔
insert_sq(sq@l,int i, int e)在顺序表的第i个位置插入数据e 展开
第一个数:7(回车)
第二个数:4 (回车)
第三个数:5 (回车)
线性表为:7,4,5
请输入插入的位置:2 (回车)
请输入插入的数据:10 (回车)
线性表为:7,10,4,5
说明:sq为顺序存储结构(结构体类型)
elemtye指定为int
lnitlist_sq(sq@l)初始化(定义100个int的大小)
creat_sq(sq@l,int m) 输入m个数建立顺序表,每个数据用回车确定输入(不考虑空间不够的情况)
print_sq(sq@l)输出顺序表的数据,用逗号分隔
insert_sq(sq@l,int i, int e)在顺序表的第i个位置插入数据e 展开
2个回答
展开全部
#include<iostream>
using namespace std;
typedef int elemtype;
#define MaxSize 100
typedef struct link
{
elemtype data[MaxSize];
int n;
}sqlist;
void Initlist_sq(sqlist *&s)
{
if(!(s=(sqlist*)malloc(sizeof(sqlist))))
cout<<"内存分配失败!"<<endl;
}
void create_sq(sqlist*&s,int m)
{
for(int i=0;i<m;i++)
{
cout<<" 第"<<i+1<<"个数:";
cin>>s->data[i];
}
cout<<endl;
s->n=m;
}
void print_sq(sqlist *s)
{
if(s!=NULL)
{
cout<<"线性表为:";
for(int i=0;i<s->n;i++)
cout<<s->data[i]<<',';
}
else cout<<"空顺序表!"<<endl;
cout<<endl;
}
void insert_sq(sqlist*&s,int i,int e)
{
i--;
for(int j=s->n-1;j>=i;j--)
{
s->data[j+1]=s->data[j];
}
s->data[i]=e;
s->n++;
}
int main()
{
int nums;sqlist *s;
int i,e;
Initlist_sq(s);
cout<<"请输入数据个数:";
cin>>nums;
create_sq(s,nums);
print_sq(s);
cout<<"请输入插入的位置:";
cin>>i;
cout<<"请输入插入的数据:";
cin>>e;
insert_sq(s,i,e);
print_sq(s);
system("pause");
return 0;
}
using namespace std;
typedef int elemtype;
#define MaxSize 100
typedef struct link
{
elemtype data[MaxSize];
int n;
}sqlist;
void Initlist_sq(sqlist *&s)
{
if(!(s=(sqlist*)malloc(sizeof(sqlist))))
cout<<"内存分配失败!"<<endl;
}
void create_sq(sqlist*&s,int m)
{
for(int i=0;i<m;i++)
{
cout<<" 第"<<i+1<<"个数:";
cin>>s->data[i];
}
cout<<endl;
s->n=m;
}
void print_sq(sqlist *s)
{
if(s!=NULL)
{
cout<<"线性表为:";
for(int i=0;i<s->n;i++)
cout<<s->data[i]<<',';
}
else cout<<"空顺序表!"<<endl;
cout<<endl;
}
void insert_sq(sqlist*&s,int i,int e)
{
i--;
for(int j=s->n-1;j>=i;j--)
{
s->data[j+1]=s->data[j];
}
s->data[i]=e;
s->n++;
}
int main()
{
int nums;sqlist *s;
int i,e;
Initlist_sq(s);
cout<<"请输入数据个数:";
cin>>nums;
create_sq(s,nums);
print_sq(s);
cout<<"请输入插入的位置:";
cin>>i;
cout<<"请输入插入的数据:";
cin>>e;
insert_sq(s,i,e);
print_sq(s);
system("pause");
return 0;
}
追问
哦哦,可以的我弄错的,十分感谢,太谢谢你了,这个好麻烦啊,你太厉害了
追答
我编译过才给你的:
把你的错误信息发过来看看哈.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
![](https://ecmc.bdimg.com/public03/b4cb859ca634443212c22993b0c87088.png)
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件...
点击进入详情页
本回答由光点科技提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询