标题:一个顺序表问题
只看楼主
紫叶傲雪
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-12-4
 问题点数:0 回复次数:3 
一个顺序表问题

我想对顺序表进行插入和删除 , 没有错误 可以运行 , 可是结果怎么是错误的啊 ,大家帮我看看
#define listsize 100
#include <stdio.h>
#include <malloc.h>
struct seqlist{
int data[listsize];
int length;
};
int i;
void insertlist(struct seqlist *l,int x,int i)
{
int j ;

if(i<0||i>l->length)
printf("error");
if(l->length>=listsize)
printf("error");

for(j=l->length-1;j>=i;j--)
l->data[j+1]=l->data[j];
l->data[i]=x;
}
void initlist(struct seqlist *l)
{
l->length=0;
}
void displaylist(struct seqlist *l)
{
int i;
puts("now the list is:");
for(i=0;i<l->length;i++)
printf("%d",l->data[i]);
printf("\n");
return;
}
void main()
{
struct seqlist *q;
int i,n,t;
q=(struct seqlist *)malloc(sizeof(struct seqlist));
initlist(q);
puts("pleast input the size of the list:");
scanf("%d",&n);
printf("please input the elements of the list one by one:");
for(i=0;i<n;i++)
{
scanf("%d",&t);
insertlist(q,t,i);
}
displaylist(q);
puts("please input the position of the element:");
scanf("%d",&i);
insertlist(q,t,i);
displaylist(q);
puts("\n press any key to quit ...");

}

搜索更多相关主题的帖子: 顺序表 int length 
2006-04-02 14:32
yuanhong
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-4-2
得分:0 
好像错误是挺多的 ,明天下午看,现在要熄灯了

2006-04-02 22:28
yuanhong
Rank: 1
等 级:新手上路
帖 子:89
专家分:0
注 册:2006-4-2
得分:0 
不知道楼主看不,我先说一下错误吧 定义了一个全局变量 i ,然后又在函数里面定义了几次 还有l->length在初始化的时候赋值为0,后来又没进行重新赋值,所以 这个循环for(j=l->length-1;j>=i;j--)
l->data[j+1]=l->data[j];
根本不执行 ,建议在增加一个变量 还有在后面插值的时候既然你length已定,data[j+1]=就已经超过了,因为数组的起始是0 ,所以在输出的时候插入一个值后最后一个就不输出了 还有这一段for(i=0;i<n;i++)
{
scanf("%d",&t);
insertlist(q,t,i);
}
displaylist(q);
puts("please input the position of the element:");
scanf("%d",&i);
insertlist(q,t,i);
最后一个insertlist(q,t,i);
T未赋值,他的值就是前面最后一个的值 总体来说,错误相当多 ,本来说昨天告诉你的,但是昨天寝室上不了网 ,现在才说,不好意思 ,

2006-04-04 22:06
紫叶傲雪
Rank: 1
等 级:新手上路
帖 子:25
专家分:0
注 册:2005-12-4
得分:0 
上楼的朋友,谢谢你。现在我知道自己那错了。谢谢

2006-04-10 10:52



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-54567-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.437351 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved