关于冒泡法的一个问题。求验证
题目:冒泡法,将数组元素按由小到大排序。#include <stdio.h>
#define N 10
void main()
{
int i,j,a[N]; / *假设数组a[N]已经无序的输入了10个元素 */
for(i=0;i<N;i++) /*这里我的想法是for(i=0;i<N-1;i++) */
{
for(j=0;j<N-1;j++) /*for(j=0;j<N-1-i;j++) */
{
if(a[j]>a[j+1]) /*很抱歉 ,我看了刚才这里有点打错了。刚才把>打成了<*/
{
t=a[j];
a[j]=a[j+1];
a[j+1]=t;
}
}
}
for(i=0;i<N;i++)
printf("%d",a[i]);
getch();
}
大家帮忙看下。是不是结果是一样的。而且我的是不是要少比较几次??
书上的答案是那样。我觉得自己的好像还简化点。要是不对的话请给我点详细的说明。谢谢!!
[ 本帖最后由 李若斌 于 2010-3-15 23:04 编辑 ]