#include<iostream>
using namespace std;
int main()
{
int arr[9] = { 98,45,32,101,54,77,68,89,99 };
//1、冒泡排序将数字由大到小排列
for (int i = 0; i <= 8; i++)
{
for (int j = 0; j < 8 - i; j++)
{
if (arr[j] < arr[j + 1])
{
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
cout << "利用冒泡排序法经过排序后:";
for (int i = 0; i < 9; i++)
{
cout << arr[i] << " ";
}
cout << endl;
//2、选择排序法
//定义一个最大数下标
int max = 0;
for (int i = 0; i <= 8; i++)
{
//令max为第i个开始
max = i;
//让最大数max与第j个数比较
for(int j = i; j <= 8; j++)
{
//如果j比max大,则令j为max
if(arr[max] < arr[j])
max = j;
}
//把max交换到第i个
int temp = arr[i];
arr[i] = arr[max];
arr[max] = temp;
}
cout << "利用选择排序法经过排序后:";
for (int i = 0; i < 9; i++)
{
cout << arr[i] << " ";
}
return 0;
}
有一组数据如下:
{98,45,32,101,54,77,68,89,99}
分别用冒泡排序法和选择排序法实现对数据从大到小的排序