C++中的cin.foreach遍历链表代码
时间: 2024-02-29 15:52:49 浏览: 83
在C++中,没有 `cin.foreach` 这个函数,但是可以使用 `std::for_each` 函数来遍历链表。
假设我们有一个链表结构体定义如下:
```c++
struct Node {
int val;
Node* next;
Node(int x) : val(x), next(NULL) {}
};
```
接下来,我们可以定义一个函数来打印链表中的所有节点值:
```c++
void printList(Node* head) {
std::for_each(head, nullptr, [](Node* node) {
std::cout << node->val << " ";
});
}
```
这个函数使用了 `std::for_each` 函数,它接受三个参数:
- 第一个参数是链表的起始节点指针;
- 第二个参数是链表的结束节点指针,这里我们使用了空指针 `nullptr`;
- 第三个参数是一个函数对象,对链表中的每个节点都会调用这个函数,这里我们使用了一个 lambda 表达式来打印节点值。
使用方法如下:
```c++
int main() {
Node* head = new Node(1);
head->next = new Node(2);
head->next->next = new Node(3);
printList(head);
return 0;
}
```
输出结果为:`1 2 3`,表示链表中的节点值分别为 1、2、3。
阅读全文