- 冒泡排序实现流程
冒泡排就是不断的比较相邻两个数的大小,让大的数向后移动,第二轮第二大的数在移动,一次类推。具体流程类似下图显示:
对于具有N个元素的数组,最多进行N-1次比较,下面是具体的算法:
#include<iostream>
using namespace std;
#define N 6
void bubble_sort(int a[],int b);
void bubble_sort(int a[], int b){
//进行N-1次比较
for (int i = 0; i < b - 1; i++){
//每一轮比较前面N-1-i个,已经排好最后一个数据不管
for (int j = 0; j < b - 1 - i; j++)
{
for (int j = 0; j<b - 1 - i; j++)
{
if (a[j] > a[j + 1])
{
int temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
}
int main(){
int num[N] = {6,5,1,4,3,2};
bubble_sort(num, N); //或者使用bubble_sort_better(num, N);
for (int i = 0; i < N; i++)
cout << num[i];
cout << endl;
system("pause");
return 0;
}
输入数据为 6,5,1,4,3,2
输出数据: