#include<stdio.h>
#include<stdlib.h>
struct list{
int data;
struct list *p;
};
struct list *creatFIFOlist(){
int num;
struct list *current=NULL,*head=NULL,*last=NULL;
scanf("%d",&num);
while(num!=-1){
current=malloc(sizeof(struct list));
if(current!=NULL){
current->data=num;
if(head==NULL){
head=current;
last=current;
}else{
last->p=current;
last=current;
}
}
scanf("%d",&num);
}
last->p=NULL;
return head;
}
void output(struct list *head){
struct list *current=head;
if(current==NULL){
printf("空表");
}
while(current!=NULL){
printf("%d->",current->data);
current=current->p;
}
}
void destroy(struct list *head){
struct list *tmp=NULL,*current=head;
while(current!=NULL){
tmp=current;
current=current->p;
free(tmp);
}
printf("\n释放完毕");
}
main(){
struct list *headPtr=NULL;
headPtr=creatFIFOlist();
output(headPtr);
destroy(headPtr);
}
终于自己写出来链表了太感动了呜呜呜呜