代码如下
#include<stdio.h>
#include<stdlib.h>
typedef struct _node{
int value;
struct _node *next;
} Node;
int main(int argc,char const *argv[])
{
Node*head=NULL;
int number;
do{
scanf("%d",&number);
if(number!=-1){
//add to linked-list
Node *p=(Node*)malloc(sizeof(Node));
p->value=number;
p->next=NULL;
//find the last
Node *last=head;
if(last){
while(last->next){
last=last->next;
}
//attach
last->next=p;
} else{
head=p;
}
}
}while(number!=-1);
return 0;
}
链表可以实现在输入数据数量未知时,自动生成新的空间。相比较数组,更加灵活,不容易浪费空间。
首先是typedef一个链表结构Node,一个int ,一个指