两两比较。int[] num={ }
原始数据: 1,2,3,4,5,6,7,8,9,10 十个元素(从大到小排列)----需要比较10-1趟
2,3,4,5,6,7,8,9,10,1 第一趟比较9次。(10-1) num[0]是第一趟。
3,4,5,6,7,8,9,10,2,1 第二趟比较8次。(10-1-1) num[1]是第二趟。
4,5,6,7,8,9,10,3,2,1 第三趟比较7次。 ……
5,6,7,8,9,10,4,3,2,1 第四趟比较6次。
6,7,8,9,10,5,4,3,2,1 第五趟比较5次。
7,8,9,10,6,5,4,3,2,1 第六趟比较4次。
8,9,10,7,6,5,4,3,2,1 第七趟比较3次。
9,10,8,7,6,5,4,3,2,1 第八趟比较2次。
10,9,8,7,6,5,4,3,2,1 第九趟比较1次。
程序:
int[] numbers={1,2,3,4,5,6,7,8,9,10};
for(int i=0;i<numbers.Length-1;i++)//控制趟数,循环一次就是一趟。
{
for(int j=0;j<numbers.Length-1-i;j++)
{
if(numbers[j]<numbers[j+1])
{
int temp=numbers[j];
numbers[j]=numbers[j+1];
numbers[j+1]=temp;
}
}
}
for(int i=0;i<numbers.length;i++)
{
console.writeLine(numbers[i]);
}
|