不给定链表长度来创建链表
时间: 2024-05-26 07:08:19 浏览: 74
不给定链表长度时,我们可以通过用户不断输入节点的值来动态创建链表。具体实现方法如下:
1. 定义一个链表节点结构体,包含节点值和指向下一个节点的指针。
2. 定义一个头节点指针,初始化为NULL。
3. 通过循环读入用户输入的节点值,每次创建一个新的节点,并把节点值存入新节点中。
4. 将新节点插入到链表中。如果链表为空,则把新节点作为头节点;否则,从头节点开始遍历链表,找到最后一个节点,将其next指针指向新节点。
5. 当用户输入结束时,返回头节点指针即可。
以下是一个简单的C++代码示例:
```c++
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* createList() {
int val;
ListNode *head = NULL, *cur = NULL;
while (cin >> val) {
ListNode* node = new ListNode(val);
if (!head) {
head = node;
cur = head;
} else {
cur->next = node;
cur = cur->next;
}
}
return head;
}
int main() {
ListNode* head = createList();
// do something with the list
return 0;
}
```
阅读全文