三大排序算法

//三大排序
#include <iostream>
using namespace std;
void SelectionSort(int a[],int size){ //选择排序:选取一个最小的放在第一个位置,在选取第二小的放在第二个位置..... 
    int i,j;
    for(i = 0;i<size-1;++i){
        int tempMin = i; //监听 
        for(j = i+1;j<size;++j){
            if(a[j]<a[tempMin]){
                tempMin = j;;
            }
        }
        int tmp = a[i];
        a[i] = a[tempMin];
        a[tempMin] = tmp;
    }
} 
void InsertionSort(int a[],int size){//插入排序:让无序(最右边)插入到有序(最左边)
    int i,j; 
    for(i = 1;i<size;++i) //无序 
        for(j = 0;j<i;++j) //有序 
            if(a[j]>a[i]){
                int temp = a[i];
                for(int k = i;k>j;--k)
                    a[k] = a[k-1];
                a[j] = temp;
                break;
            }




} 
void BubbleSort(int a[],int size){ //冒泡排序:两两比较 
    for(int i = size-1;i>0;--i){ //一次把最重的放在最后 
        for(int j = 0;j<i;++j)
            if(a[j]>a[j+1]){
                int tmp = a[j];
                a[j] = a[j+1];
                a[j+1] = tmp;
            }
    }
}
int main(){
    int Array[10] = {2,1,4,5,1,2,4,5,110},len= 10,i;
    BubbleSort(Array,len);
    for(i = 0;i<10;i++){
        cout<<"-"<<Array[i];
    }
    return 0;
}
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容