zoukankan      html  css  js  c++  java
  • 选择排序 冒泡排序 插入排序

    1.选择排序

    每一次找出最小的值,放在最前面的位置,一个一个安置

    //选择排序
    #include<iostream>
    #include<climits>
    using namespace std;
    template<class T>
    void gcd(T a[],int n){
        int mix,temp;
        for(int i=0;i<n-1;i++){
            mix=i;
            for(int j=i+1;j<n;j++)
                if(a[j]<a[mix]) mix=j; 
                if(i!=mix){
                    temp=a[i];
                    a[i]=a[mix];
                    a[mix]=temp;
                }
        }
    }
    int main()
    {
         int a[10] = {43, 65, 4, 23, 6, 98, 2, 65, 7, 79};
         gcd(a,10);
         for(int i=0;i<10;i++) cout<<a[i]<<" ";
         cout<<endl;
    } 
    View Code

    2.冒泡排序

    遍历数组,发现前面的数字大于自己就换位置

    //冒泡排序
    #include<iostream>
    using namespace std; 
    void swap(int &a,int &b ){
        int tmp;
        tmp=a;
        a=b;
        b=tmp;
    }
    void gcd(int *a,int n){
        for(int i=0;i<n;i++)
        for(int j=0;j<n-1;j++){
            if(a[j]>a[j+1]) swap(a[j],a[j+1]);
        }
    }
    int main()
    {
        int n;
        cin>>n;
        int a[n];
        for(int i=0;i<n;i++) cin>>a[i];
        gcd(a,n);
        for(int i=0;i<n;i++) cout<<a[i]<<" ";
        cout<<endl;
    }
    View Code

    3.插入排序

    遍历数组,新遍历的数字,寻找合适的位置插进去

    //插入排序 
    #include<iostream>
    using namespace std;
    
    int main()
    {
    int a[]={1,3,1,2,0,4,5,2,6,2,0};
            int n=10;
            int i,j,temp;//用来暂存
            for(i=1;i<n;i++){
                temp=a[i];
                j=i-1;
                for(;j>=0&&a[j]>temp;j--)//找到tmp插入的位置 
                    a[j+1]=a[j];
    //            if(j!=i-1)//j等于i-1的话自然不需要填补了
                    a[j+1]=temp;
        }
        
        for(int i=0;i<10;i++) cout<<a[i]<<" ";
         
        }
    View Code
  • 相关阅读:
    Web API DataContract DataMember Serializable简单解释
    v-bind和v-on
    CSS大写转换
    Web API 实体显示注释
    Web API性能优化(一)压缩
    时间序列化问题
    border 0px和border none的区别
    CSS实现单行、多行文本溢出显示省略号
    MySQL防止重复插入记录SQL
    mvc和webapi同一解决方案调试办法
  • 原文地址:https://www.cnblogs.com/helloworld2019/p/10351161.html
Copyright © 2011-2022 走看看