单链表结点类型描述:
typedef struct LNode{ //定义单链表结点类型
ElemType data; //数据域
struct LNode *next; //指针域
}LNode,*LinkList;
采用头插法建立单链表:
LinkList List_HeadInsert(LinkList &L){ //逆向建立单链表
LNode *s; int x;
L=(LinkList)malloc(sizeof(LNode)); //创建头结点
L->next==NULL; //初始为空链表
scanf("%d",&x); //输入结点的值
while(x!=9999){ //输入9999表示结束
s=(LNode)malloc(sizeof(LNode)); //创建新结点
s->data=x;
s->next=L->next; //将结点插入表中,L为头指针
L->next=s;
scanf("%d",&x);
}
return L;
}
采用尾插法建立单链表:
LinkList List_TailInsert(LinkList &L){ //正向建立单链表
int x; //设元素类型为整型
L=(LinkList)malloc(sizeof(LNode)); //创建头结点
LNode *s,*r=L;