单项链表将数据插入特定的位置
时间: 2023-05-18 13:02:58 浏览: 96
可以通过以下步骤将数据插入单项链表的特定位置:
1. 创建一个新节点,将要插入的数据存储在该节点中。
2. 遍历单项链表,找到要插入的位置的前一个节点。
3. 将新节点的 next 指针指向该位置的前一个节点的 next 指针所指向的节点。
4. 将该位置的前一个节点的 next 指针指向新节点。
以下是一个示例代码:
```
struct ListNode {
int val;
ListNode *next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* insertNode(ListNode* head, int pos, int val) {
ListNode* newNode = new ListNode(val);
if (pos == 0) {
newNode->next = head;
return newNode;
}
ListNode* prev = head;
for (int i = 0; i < pos - 1; i++) {
prev = prev->next;
}
newNode->next = prev->next;
prev->next = newNode;
return head;
}
```
该函数接受一个单项链表的头节点指针 head,要插入的位置 pos 和要插入的值 val,返回插入后的单项链表的头节点指针。如果 pos 为 0,则将新节点插入到头部。
阅读全文