题目
整数数组的冒泡排序(从大到小)
排序前
{6,9,3,5,0,1,8,7,4,2}
排序后
{9,8,7,6,5,4,3,2,1,0}
//整数数组的冒泡排序(从大到小)
//排序前
//{6,9,3,5,0,1,8,7,4,2}
//排序后
//{9,8,7,6,5,4,3,2,1,0}
#include <stdio.h>
#define SIZE 10
int main()
{
int temp,x,i,j,y;
int count = 0;
int arr[SIZE] = { 6,9,3,5,0,1,8,7,4,2 };// 十个数的无序排列
for ( x = 0; x < SIZE; x++)
{
printf("原数组为:%d \n", arr[x]);
}
for ( i = 0; i < SIZE - 1; i++) // n个数的数列总扫描 n - 1次
{
for ( j = 0; j < SIZE - i - 1; j++) // 每一趟扫描到arr[n-i-2] 与arr[n-i-1]的位置
{
if (arr[j] < arr[j + 1])
{
// 交换操作
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
count++;// 计数加一
}
}
}
for ( y = 0; y < SIZE; y++)
{
printf("排序之后的数组为:%d \n", arr[y]);
}
printf("总共交换了%d次\n", count);
return 0;
}
注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意注意
**
长好眼别用中文敲字母,符号,空格
**