冒泡排序c++

来源:互联网 发布:口袋妖怪编辑队伍软件 编辑:程序博客网 时间:2024/06/05 02:08
  1. 交换排序—冒泡排序(Bubble Sort)
    基本思想:

在要排序的一组数中,对当前还未排好序的范围内的全部数,自上而下对相邻的两个数依次进行比较和调整,让较大的数往下沉,较小的往上冒。即:每当两相邻的数比较后发现它们的排序与排序要求相反时,就将它们互换。

算法的实现:

#include<iostream>#include<string>using namespace std;void print(int a[],int n,int i){    for(int j=0;j<n;j++){        cout << a[j] << " ";    }    cout << endl;}void bubbleSort(int a[],int n){    for(int i=0;i<n;i++){        for(int j=0;j<n-i-1;j++){            if(a[j] >a[j+1]){                int temp=a[j];                a[j]=a[j+1];                a[j+1]=temp;            }        }        print(a,n,i);    }} int main(){    int a[8]={9,7,6,5,4,3,2,1,};    bubbleSort(a,8);}

运行结果:
7 6 5 4 3 2 1 9
6 5 4 3 2 1 7 9
5 4 3 2 1 6 7 9
4 3 2 1 5 6 7 9
3 2 1 4 5 6 7 9
2 1 3 4 5 6 7 9
1 2 3 4 5 6 7 9
1 2 3 4 5 6 7 9

原创粉丝点击