不是完整的代码,截取了核心部分
typedef struct node {
int data;
struct node*next;
}NODE;
NODE* creat()
{
int k;
NODE *p,*r;
NODE *h=(NODE *)malloc(sizeof(NODE));
h->next=NULL;
r=h;
scanf("%d",&k);
//为单链表h赋值
while(k>0)
{
p=(NODE *)malloc(sizeof(NODE));
p->data=k;
p->next =NULL;
r->next=p;
r=p;
scanf("%d",&k);
}
return h;
}
这个是用的单链表,也可以用数组,思想是一样的。
单链表的好处是不用定义这串数的最大长度,避免了越界问题。