1.简单的数字遍历,通过数字确定次数。
for(i=a;i<=b;i++)
i完成了对[a,b]的遍历
2.数组遍历
for(i=0;i<=n;i++)
a[i]完成了对数组a的遍历
3.字符串遍历
for(i=0;str[i];i++)
str[i]完成了对字符串str的遍历
4.数位遍历
for(i=src;i;i/=10)
i%10完成了对十进制数字src中每一位的遍历
i%m完成了对m进制数字src中每一位的遍历
例如
判断某个数在某进制下是回文数的模型
#include <stdio.h>
#pragma warning (disable:4996)
int main()
{
int n;
int m;
scanf("%d%d", &n, &m);
int sum=0;
int i;
for (i = n; i; i /= m) //10是进制,如果是2进制就除2模2
{
sum = sum * m + i % m;
}
if (sum == n)
printf("%d是%d进制下的回文数\n", n, m);
else
printf("%d不是%d进制下的回文数\n", n, m);
return 0;
}
5.链表遍历
1)无头单链表
for(tmp=head;tmp;tmp=tmp->next)
tmp完成了对以head为头的链表的遍历
2)双链表
for(cur=head->next;cur!=head;cur=cur->next)
用cur遍历
6.容器遍历
for(iter=v.brgin();iter!v.end;iter++)
iterw完成了对容器v的遍历