C++学习之冒泡排序
2021-10-26
冒泡排序的原理就是遍历循环,每次循环比较2个数字,如果后一个数比前一个数大,那么就交换位置。
例如 int str[] = { 25,39,4,2,7.7,0,88,12,5,7 };
第一次内层循环先比较25>39,不成立,然后进入内层的第二次循环,比较39>4,成立,将39与4互换位置,得到的结果为 25,4,39,2,7.7,0,88,12,5,7 ,依次循环。
代码实现如下
```cpp
#include<iostream>
using namespace std;
int main()
{
//定义一个数组
int str[] = { 25,39,4,2,7.7,0,88,12,5,7 };
//sizeof 计算的则是分配的数组str所占的内存空间的大小,不受里面存储的内容影响,而且每个int类型占4个字节
int len = sizeof(str)/4;
int tmp;
for (int i = 0; i < len - 1; i++)
{
for (int j = 0; j < len - 1 - i; j++)
{
if (str[j] > str[j + 1])
{
tmp = str[j];
str[j ] = str[j+ 1];
str[j+1] = tmp;
}
}
}
for (int i = 0; i < len; i++)
{
cout << str[i] << ',';
}
return 0;
}
<