菜鸟求救:数据结构中顺序表的值插入问题(运行通过,但是运行结果不对)
/*在一个递增有序的顺序表中插入一个元素保持递增*/
#include <stdio.h>
#define maxlen 100
typedef struct/*顺序表的结构体*/
{
int data[maxlen];
int listlen;
} seqlist;
/*这个插入算法是我照书抄的*/
void insert(seqlist * L,int x)
{int i=L->listlen-1;
if (i>=maxlen-1) printf ("overflow");/*表满不能插入*/
/*单步跟踪执行时,运行到这就结束了,什莫原因?*/
else while(i>=0 && L->data[i]>x)/*往前搜索插入位置,并移动元素*/
{L->data[i+1]=L->data[i--];
L->data[i+1]=x;
L->listlen++;
}
}
main()
{
int i;
seqlist *s1;
insert (s1,5);
}
问题点数:20、回复次数:1Top
1 楼Mackz(在相互)回复于 2006-03-18 20:38:11 得分 20
你这个s1都没有初始化。Top




