#include<stdio.h>
#include<stdlib.h>
#define NULL 0
typedef struct node{
int data;
struct node *next;
}Lnode,*Linklist;
void Linklist_creat(Lnode *L);
void Linklist_print(Lnode *L);
void Linklist_reverse(Lnode *L);
void Linklist_insert(Lnode *L);
void main()
{ Lnode *L=(Lnode *)malloc(sizeof(Lnode));
L->data=0;
L->next=NULL;
Linklist_creat(L);
printf("您创建的列表如下:\n");
Linklist_print(L);
//Linklist_reverse(L);
//printf("逆序后的链表如下:\n");
//Linklist_print(L);
Linklist_insert(L);
Linklist_print(L);
}
void Linklist_creat(Lnode *L){
int num,n,i;
Lnode *p,*tail;
printf("请输入您要创建的链表大小:\n");
scanf("&d",&n);
L->data =n;
tail=L;
for(i=1;i<=n;i++){
printf("请输入第%d个链表元素:\n",i);
scanf("%d",&num);
p=(Lnode *)malloc(sizeof(Lnode));
p->data =num;
p->next =NULL;
tail->next =p;
tail=p;
}
}
void Linklist_print(Lnode *L){
Lnode *p=L->next;
while(p){
printf("%d\n",p->data);
p=p->next ;
}
}
void Linklist_reverse(Lnode *L){
Lnode *p, *t;
p=L->next->next;
t=p->next;
L->next->next=NULL;
while(p){
p->next =L->next;
L->next =p;
p=t;
if(p!=NULL)t=p->next;
}
}
void Linklist_insert(Lnode *L){
int num,n,i;
Lnode *newp,*p=L;
printf("请输入您要插入的位置: \n");
scanf("%d",&n);
printf("请输入您要插入的元素: \n");
scanf("%d",&num);
newp=(Lnode *)malloc(sizeof(Lnode));
newp->data=num;
for(i=1;i<n;i++) p=p->next;
newp->next =p->next;
p->next =newp;
L->data++;
}
第34行,scanf("%d",&n); //scanf("&d",&n);