冒泡排序:每趟排序,从左到右,不断比较交换(把大的往后移动)
#include <iostream>
using namespace std;
// 冒泡排序
void bubbleSort(int data[], int n)
{
int temp;
// 有时候不用n趟排序就已经排好序了,用is_swap来标记
bool is_swap;
int cnt = 0;
for (int i = 0; i < n; ++i)
{
is_swap = false;
for (int j = 1; j <=n-i; ++j)
{
if (data[j]<data[j-1])
{
temp = data[j];
data[j] = data[j-1];
data[j-1] = temp;
is_swap = true;
}
}
if (!is_swap)
{
break;
}
}
}
int main()
{
int data[10] = {0,1,2,3,4,5,6,7,8,9};
//int data[10] = {4,5,6,7,8,9,1,2,3,0};
int n = 9;
bubbleSort(data, n);
for (int i = 0; i <= n; ++i)
cout<<data[i]<<" ";
cout<<endl;
return 0;
}