1.头插法
新元素从头部插入
Node * head_initList() //头插法创建链表
{
Node * head = new Node; //创建头指针
Node *s;//临时指针,指向新的节点
int n;
while (cin >> n&&n != -1) {
s = new Node;
s->data = n;
s->next = head ->next ;//将新节点的next指针指向头结点的下一个节点
head->next = s;//头结点指向新插入的节点
}
return head;
}
运行结果
2.尾插法
每个新节点插到链表尾部(顺序插入)
Node * initList()//尾插法创建链表
{
Node *head = new Node;
Node *r, *s;//r指向链表尾部
r = head;
int n;
cin >> n;
while (n != -1)
{
s = new Node;//创建节点
s->data = n;
r->next = s;//将节点插入链表尾部
r = s;//尾指针后移
cin >> n;
}
r->next = NULL;
return head;
}
运行结果