cpp链表的遍历以及尾插法
时间: 2023-06-02 07:08:05 浏览: 69
回答:
对于cpp链表的遍历,可以通过while循环来实现。具体实现方法如下:
```cpp
//链表节点结构体
struct ListNode{
int val;
ListNode* next;
ListNode(int x):val(x),next(NULL){}
};
//链表尾插法
ListNode* createList(int* arr,int n){
ListNode* head = NULL;
ListNode* tail = NULL;
for(int i = 0;i < n;i++){
ListNode* node = new ListNode(arr[i]);
if(head == NULL){
head = node;
tail = node;
}else{
tail->next = node;
tail = node;
}
}
return head;
}
//遍历链表
void traversal(ListNode* head){
while(head){
cout<<head->val<<" ";
head = head->next;
}
}
```
尾插法可以保证在O(n)的时间复杂度内构建链表。而遍历链表则是通过while循环依次访问链表的所有节点,直至到达链表的末尾。