题解 | #C++冒泡排序#
C++冒泡排序
http://www.nowcoder.com/practice/eb72dada09de43ceacf93f9a143ee321
**冒泡排序每次把最小值排到最前,下一次就进行后几项的排序,要从后往前比较才可以将最小值逐步放在最前面,如果是从前往后比,最先排好的就是最大值 **
#include <iostream>
using namespace std;
int main() {
int arr[6] = { 0 };
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
// write your code here......
int temp;
for(int i = 0; i < len; i++)
{
for(int j =len-1; j >i ;j-- )
{
if (arr[j] < arr[j-1])
{
temp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = temp;
}
}
}
for (int i = 0; i < len; i++) {
cout << arr[i]<<" ";
}
//第一次排序后结果:13 24 69 80 57 16
//第二次排序后结果:13 16 24 69 80 57
//第三次排序后结果:13 16 24 57 69 80
//第四次排序后结果:13 16 24 57 69 80
//第五次排序后结果:13 16 24 57 69 80
//第六次排序后结果:13 16 24 57 69 80
//第七次排序后结果:13 16 24 57 69 80
return 0;
}