下面代码实现了使用C++语言根据输入数据创建一个单链表:
例如输入:1 2 3 4 5 -1(结束符)
打印链表:1->2->3->4->5->NULL
#includeusing 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; }



