用简单的代码和注释教一下我c++的迭代器的各种使用方法
时间: 2023-05-30 09:02:47 浏览: 113
c++迭代器使用
C语言本身并没有内置迭代器,但可以使用指针来实现类似于迭代器的功能。
以下是一些使用指针进行迭代的示例:
1. 遍历数组
```c
int arr[] = {1, 2, 3, 4, 5};
int *p;
for (p = arr; p < arr + 5; p++) {
printf("%d ", *p);
}
```
这里定义了一个整型数组arr,使用指针p来遍历数组,输出每个元素的值。
2. 遍历链表
```c
typedef struct node {
int val;
struct node *next;
} Node;
Node *head = NULL;
// 添加若干个节点到链表中
...
Node *p;
for (p = head; p != NULL; p = p->next) {
printf("%d ", p->val);
}
```
这里定义了一个链表结构体Node,使用指针p来遍历链表,输出每个节点的值。
3. 使用指针作为函数参数
```c
void iterate(int *begin, int *end) {
int *p;
for (p = begin; p < end; p++) {
printf("%d ", *p);
}
}
int arr[] = {1, 2, 3, 4, 5};
iterate(arr, arr + 5);
```
这里定义了一个函数iterate,使用指针begin和end作为参数,遍历数组并输出每个元素的值。
以上是使用指针进行迭代的一些示例,需要注意指针的类型和指针操作的边界条件。
阅读全文