下面代码实现了使用C++语言根据输入数据创建一个单链表:
例如输入:1 2 3 4 5 -1(结束符)
打印链表:1->2->3->4->5->NULL
#include <iostream>
using namespace std;
struct ListNode
{
int val;
struct ListNode *next;
};
/ 创建单链表 head作为第一个元素节点
void CreatLinkList(ListNode *head)
{
int x;
struct ListNode *cur;
struct ListNode *p; //用于创建每一个节点
printf("请输入链表元素,以-1结束\n");
scanf("%d", &x);
head->val = x;
cur = head;
while(1)
{
scanf("%d", &x);
if(x == -1)
break;
p = (ListNode *)malloc(sizeof(ListNode));
p->val = x;
p->next = NULL;
cur->next = p;
cur = p;
}
cur->next = NULL;
}
// 打印单链表
void PrintLinkList(struct ListNode *head)
{
struct ListNode *r;
r = head;
while (r