双重for循环

来源:百度知道 编辑:UC知道 时间:2024/05/16 14:38:41
在二维数组中我见过的双重for循环的格式有3种:
1:
void main()
{
int i,j,N;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
...
...
}
2:
void main()
{
int i,j,N;
for(i=0;i<N-1;i++)
for(j=i+1;j<N;j++)
...
...
}
3:
void main()
{
int i,j,N;
for(i=0;i<N-1;i++)
for(j=0;j<N-i+1;j++)
...
...
}
一般情况书中用第1种,有时书中也用到第2和第3种的用法,
我不清楚2,3种的用法,它们的用法有何特点??

第一个就是普通遍历二维数组;第二个一般用于一维数组的冒泡排序;第三个看情况,要是一维数组那么就是有错误的,因为当i=0时第二个for中的N=数组大小+1;当j=N时会产生错误(指向一个未知地址)。

第二种常用于选择排序,让前一个雨后一个比较,来排序,第三个是从两边比较