c/c++vector<int>怎么转换链表编程举例说明
时间: 2023-04-11 13:01:07 浏览: 135
用C++类实现链表的示例程序
5星 · 资源好评率100%
可以使用链表的头插法或尾插法来将vector<int>转换为链表。以下是一个使用头插法的示例代码:
```c++
#include <iostream>
#include <vector>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
ListNode* vectorToListNode(vector<int>& nums) {
ListNode* dummy = new ListNode(0);
for (int i = nums.size() - 1; i >= 0; i--) {
ListNode* node = new ListNode(nums[i]);
node->next = dummy->next;
dummy->next = node;
}
return dummy->next;
}
int main() {
vector<int> nums = {1, 2, 3, 4, 5};
ListNode* head = vectorToListNode(nums);
while (head != NULL) {
cout << head->val << " ";
head = head->next;
}
cout << endl;
return 0;
}
```
该代码将vector<int> {1, 2, 3, 4, 5} 转换为链表 5 -> 4 -> 3 -> 2 -> 1。
阅读全文