冒泡排序
冒泡排序,就是让数字像水里的泡泡一样,由大到小排序
那么在程序中我们要怎么实现呢?
解题思路

既然要从大到小排序,当然需要使用 for 循环来实现对一个整型数组每一位进行读取和判断并重新排序了
那么这是一个数组
int arr[10] = { 4,2,8,7,6,3,1,9,5,0 };
接下来我们要获取这个数组的长度
int arrlong = sizeof(arr) / sizeof(*arr);
通过使用 sizeof() 关键字进行获取数组 arr 占用的内存,并获取 *arr 即 arr[0] 的长度,让两个数相除得到数组长度
利用 for 循环表达数组的全部数:
for (int i = 0; i <= arrlong; i++)
{
}
然后在 for 循环内加入转换的实现代码
int stream = 0;
stream = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = stream;
或者使用C++关键字 swap() 进行交换
swap(arr[j], arr[j + 1]);
然后,将转换代码封装到函数 sorting() 中
void sorting(int array[],int arraylong)
{
for (int i = 0; i <= arraylong - 1; i++)
{
for (int j = 0; j <= arraylong - 1 - i; j++)
{
if (array[j] > array[j + 1])
{
/*int stream = 0;
stream = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = stream;*/
swap(array[j], array[j + 1]);
}
}
}
}
在 main() 函数中调用 sorting() 函数
sorting(arr, arrlong);
最后,输出结果
for (int k = 0; k <= arrlong-1; k++)
{
cout << arr[k] << endl;
}

至此,程序结束
完整代码:
#include <iostream>
using namespace std;
void sorting(int array[],int arraylong)
{
for (int i = 0; i <= arraylong - 1; i++)
{
for (int j = 0; j <= arraylong - 1 - i; j++)
{
if (array[j] > array[j + 1])
{
/*int stream = 0;
stream = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = stream;*/
swap(array[j], array[j + 1]);
}
}
}
}
int main()
{
int arr[] = { 4,2,8,7,6,3,1,9,5,0 };
int arrlong = sizeof(arr) / sizeof(*arr);
sorting(arr, arrlong);
for (int k = 0; k <= arrlong-1; k++)
{
cout << arr[k] << endl;
}
system("pause");
return 0;
}