美文网首页
三大排序算法

三大排序算法

作者: 始于尘埃 | 来源:发表于2019-08-27 19:34 被阅读0次
    //三大排序
    #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;
    }
    

    相关文章

      网友评论

          本文标题:三大排序算法

          本文链接:https://www.haomeiwen.com/subject/nyjyectx.html