单链表头插法不使用双重指针
时间: 2024-06-20 20:03:45 浏览: 89
头插法单链表
单链表头插法是指将新节点插入链表的头部,使其成为新的首节点。这种方式可以在O(1)的时间复杂度内完成插入操作。
如果不使用双重指针,则需要将新节点的指针指向原始的首节点,然后将原始的首节点作为新节点的下一个节点。这样,原来的首节点就成了第二个节点,新节点成了第一个节点。具体实现可以参考下面的代码:
```c++
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* createLinkedList(int n) {
ListNode* head = NULL;
for (int i = n; i > 0; i--) {
ListNode* node = new ListNode(i);
node->next = head;
head = node;
}
return head;
}
void printLinkedList(ListNode* head) {
while (head) {
cout << head->val << "->";
head = head->next;
}
cout << "NULL" << endl;
}
int main() {
ListNode* head = createLinkedList(5);
printLinkedList(head);
return 0;
}
```
阅读全文