下面代码实现了使用C++语言根据输入数据创建一个单链表:
例如输入:1 2 3 4 5 -1(结束符)
打印链表:1->2->3->4->5->NULL
#include
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 != NULL)
{
cout << r->val << "->";
r = r->next;
}
cout << "NULL" << endl;
}
int main()
{
ListNode *head = NULL;
head = (ListNode *)malloc(sizeof(ListNode));
CreatLinkList(head);
PrintLinkList(head);
free(head);
system("pause");
return 0;
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)