用cpp完成以下代码:对任意输入的一组数据,建立一个递增有序的单链表。
时间: 2023-05-18 13:03:29 浏览: 91
以下是用 C++ 完成的代码:
```cpp
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* insert(ListNode* head, int val) {
ListNode* node = new ListNode(val);
if (!head || val < head->val) {
node->next = head;
return node;
}
ListNode* cur = head;
while (cur->next && val > cur->next->val) {
cur = cur->next;
}
node->next = cur->next;
cur->next = node;
return head;
}
ListNode* createList() {
ListNode* head = NULL;
int val;
while (cin >> val) {
head = insert(head, val);
}
return head;
}
void printList(ListNode* head) {
while (head) {
cout << head->val << " ";
head = head->next;
}
cout << endl;
}
int main() {
ListNode* head = createList();
printList(head);
return 0;
}
```
这段代码可以读入任意数量的整数,然后将它们插入到一个递增有序的单链表中,并输出这个链表的所有元素。
阅读全文