1.顺序链表(即逆序法)
用一个不断变化的尾指针,同时在尾指针之后进行插入操作
void CreateLinkList ( LinkList &L, int n)
{
// 建立空表
L = (LinkList) malloc(sizeof(LNode));
L->next = NULL; // 空表
p = L; // 用p指向表尾
// 插入元素
for ( i=0; i<n; i++ ) {
scanf ( x );
s = (LinkList) malloc(sizeof(LNode));
s->data = x;
// 插入表尾
s->next = p->next;
p->next = s;
p = s; // 新的表尾
}
}
2.逆序链表(头插法)
头结点不变,不断在头结点与p结点之间插入需要的元素
void CreateLinkList ( LinkList &L, int n)
{
// 建立空表
L = (LinkList) malloc(sizeof(LNode));
L->next = NULL; // 空表
// 插入元素
for ( i=0; i<n; i++ ) {
scanf ( x );
s = (LinkList) malloc(sizeof(LNode));
s->data = x;
// 插入表头
s->next = L->next;
L->next = s;
}
}