本题要求实现一个函数,输出带头结点的单链表的的所有结点元素值。
时间: 2023-04-02 12:05:09 浏览: 123
好的,这个问题可以回答。以下是实现该函数的代码:
```
void printList(Node* head) {
Node* curr = head->next;
while (curr != NULL) {
printf("%d ", curr->val);
curr = curr->next;
}
}
```
其中,Node 是链表结点的结构体,包含一个整数 val 和一个指向下一个结点的指针 next。head 是链表的头结点,它的 val 值可以是任意值,next 指向第一个实际结点。函数中的 curr 指针用于遍历链表,从第一个实际结点开始,依次输出每个结点的 val 值。
相关问题
写实现一个函数,输出带头结点的单链表的的所有结点元素值
以下是Python语言实现:
```python
class Node:
def __init__(self, val=0, next=None):
self.val = val
self.next = next
def print_linked_list(head: Node) -> None:
cur = head.next
while cur:
print(cur.val, end=' ')
cur = cur.next
```
其中,Node类定义了链表中的结点,包括结点的值和指向下一个结点的指针。print_linked_list函数接受一个带头结点的单链表的头结点作为参数,遍历链表输出所有结点的值。具体实现中,首先将指针cur指向头结点的下一个结点,然后循环遍历链表,输出每个结点的值,并将指针cur指向下一个结点,直到遍历完整个链表。
实现一个函数,输出带头结点的单链表的的所有结点元素值。
假设链表的结构体定义如下:
```
typedef struct ListNode {
int val;
struct ListNode *next;
} ListNode;
typedef struct LinkedList {
ListNode *head;
} LinkedList;
```
则输出函数的实现如下:
```
void printLinkedList(LinkedList *list) {
ListNode *cur = list->head->next;
while (cur != NULL) {
printf("%d ", cur->val);
cur = cur->next;
}
printf("\n");
}
```
解释:
- 首先获取链表的第一个结点,即头结点的下一个结点
- 循环遍历链表,打印每个结点的元素值
- 最后换行输出
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)