如何将链表转换为顺序表
时间: 2023-07-26 09:16:12 浏览: 104
shunxubiao.zip_链表的合并_顺序表
链表转换为顺序表需要进行如下步骤:
1. 遍历链表,统计链表中节点的个数n;
2. 创建一个长度为n的数组,即为顺序表;
3. 再次遍历链表,将每个节点的值依次存储到数组中;
4. 最后返回创建的顺序表即可。
下面是一个简单的示例代码:
```c++
#include <iostream>
using namespace std;
struct ListNode {
int val;
ListNode* next;
ListNode(int x) : val(x), next(NULL) {}
};
vector<int> convertListToArray(ListNode* head) {
int n = 0;
ListNode* p = head;
while (p != NULL) {
n++;
p = p->next;
}
vector<int> res(n);
p = head;
for (int i = 0; i < n; i++) {
res[i] = p->val;
p = p->next;
}
return res;
}
int main() {
ListNode* head = new ListNode(1);
head->next = new ListNode(2);
head->next->next = new ListNode(3);
vector<int> res = convertListToArray(head);
for (int i = 0; i < res.size(); i++) {
cout << res[i] << " ";
}
return 0;
}
```
阅读全文