输入若干个正整数(输入-1 为结束标志),建立一个单向链表,再输入一个数m,插入第i个结点后面并输出链表。
时间: 2024-03-07 08:48:44 浏览: 117
好的,我可以为您提供一个基本的算法实现,具体如下:
1. 定义链表结点结构体:
```c++
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(nullptr) {}
};
```
2. 读入若干个正整数并建立链表:
```c++
ListNode* head = new ListNode(0);
ListNode* p = head;
int x;
while (true) {
cin >> x;
if (x == -1) break;
ListNode* node = new ListNode(x);
p->next = node;
p = node;
}
```
3. 插入第i个结点后面:
```c++
int i, m;
cin >> i >> m;
p = head->next;
while (i > 1 && p != nullptr) {
p = p->next;
i--;
}
if (p != nullptr) {
ListNode* node = new ListNode(m);
node->next = p->next;
p->next = node;
}
```
4. 输出链表:
```c++
p = head->next;
while (p != nullptr) {
cout << p->val << " ";
p = p->next;
}
```
完整代码如下:
阅读全文
相关推荐
![cpp](https://img-home.csdnimg.cn/images/20250102104920.png)
![zip](https://img-home.csdnimg.cn/images/20241231045053.png)
![txt](https://img-home.csdnimg.cn/images/20241231045021.png)
![application/msword](https://img-home.csdnimg.cn/images/20210720083327.png)
![text/x-c++](https://img-home.csdnimg.cn/images/20250102104920.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)