带头节点的尾插法构造链表:
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
int data; //数据域
struct LNode *next; //指针域
} LNode,*LinkList;
LinkList L;
void ListInerst(LinkList &L,int i){//尾插法
L=(LNode *)malloc(sizeof(LNode));
L->next=NULL;
//头指针
LNode *s,*r=L;//声明两个游动指针
while(i!=0){
s=(LNode *)malloc(sizeof(LNode));
printf("请输入数据:");
scanf("%d",&s->data);
r->next=s;
r=s;
--i;
}
r->next=NULL;//最后必须保证最后一个结点指针与为空
}
void display(LinkList L){ //遍历链表
LNode *p;
p=L->next;
while(p!=NULL){
printf("%d",p->data);
p=p->next;
}
}
void Text(){
ListInerst(L, 5);
display(L);
}
int main(){
Text();
return 0;
}