实现思路:
-
比较相邻的元素。如果第一个比第二个大,就交换他们两个。
-
对每一对相邻元素做同样的工作,执行完毕后,找到第一个最大值。
代码如下:
#include<iostream>
using namespace std;
//利用冒泡排序实现升序排序
int main()
{
int arr[9] = { 4,2,8,6,5,7,1,3,9 };
for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 9; j++)
{
if (arr[i] > arr[j]) //如果前一个元素比后一个元素大,则交换它们,以实现升序排序
{
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
cout << "升序输出的结果为: " << endl;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << endl;
}
//同理,利用冒泡排序进行降序输出
for (int i = 0; i < 9; i++)
{
for (int j = i + 1; j < 9; j++)
{
if (arr[i] < arr[j]) //如果前一个元素比后一个元素小,则交换它们,以实现降序排序
{
int temp = arr[j];
arr[j] = arr[i];
arr[i] = temp;
}
}
}
cout << "降序输出的结果为: " << endl;
for (int i = 0; i < 9; i++)
{
cout << arr[i] << endl;
}
return 0;
}