线性表的(动态分配)顺序表的实现。请各位高手帮忙解答,我实在不会

屏幕显示效果为,比如请输入数据个数: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
展开
 我来答
gouyun0922
2011-12-09 · TA获得超过151个赞
知道小有建树答主
回答量:246
采纳率:100%
帮助的人:113万
展开全部
#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;
}
追问
哦哦,可以的我弄错的,十分感谢,太谢谢你了,这个好麻烦啊,你太厉害了
追答
我编译过才给你的:
把你的错误信息发过来看看哈.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
光点科技
2023-08-15 广告
通常情况下,我们会按照结构模型把系统产生的数据分为三种类型:结构化数据、半结构化数据和非结构化数据。结构化数据,即行数据,是存储在数据库里,可以用二维表结构来逻辑表达实现的数据。最常见的就是数字数据和文本数据,它们可以某种标准格式存在于文件... 点击进入详情页
本回答由光点科技提供
Joyce910620
2011-12-13
知道答主
回答量:2
采纳率:0%
帮助的人:3210
展开全部
你是想想啊?~~哈哈哈~
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式