• c++算法联系,冒泡排序,bubble sort,插入排序,insert sort,






    #include <iostream.h>
    #define  MAX 100

    void dispaly(int a[],int n)
    {
        for(int i=0;i<n;i++)
        {
            cout<<"a["<<i<<"]="<<a[i]<<" ";
        }
        cout<<endl;
        
    }

    // bubble sort 冒泡排序
    void bubblesort(int a[],int n)
    {
        int i,j;
        
        for(i=0;i<n-1;i++)
        {
            for(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;
                }

            }
            dispaly(a,n);
        }
    }

    //insert sort 插入排序

    void insertSort(int a[],int n)
    {
        for(int i=1;i<n;i++)
        {
            //for(int j=i;j>0 &&a[j]<a[j-1];j--)
            {
            //    int temp=a[j-1];
            //    a[j-1]=a[j];
            //    a[j]=temp;
            }
            

            
            for(int j=0;j<i &&a[i]<a[i-j-1];j++)
            {
                int temp=a[j-1];
                a[j-1]=a[j];
                a[j]=temp;
            }
            dispaly(a,n);
        }
    }
    void selectSort(int a[],int n)
    {

        for(int i=0;i<n;i++)
        {
            int min=a[i];
            int index=i;
            for(int j=i;j<n-1;j++)
            {
                if(min>a[j+1])
                {
                    min=a[j+1];
                    index=j+1;
                }
            }
            int temp=a[i];
            a[i]=min;
            a[index]=temp;

        }

        /*
        for(int i=0;i<n;i++)
        {
            int index=i;
            for(int j=i;j<n-1;j++)
            {
                if(a[index]>a[j+1])
                {
                    index=j+1;
                }
            }
            int temp=a[i];
            a[i]=a[index];
            a[index]=temp;
        }
        */
    }

    int main ()
    {

        int a[MAX],i;
        for(i=0;i<MAX;i++)
        {
            cin>>a[i];
            if(a[i]==-0)
                break;
        }
        //dispaly(a,i);
        //cout<<"================start sort=================="<<endl;
        //bubblesort(a,i);
        //cout<<"================result======================"<<endl;
        //dispaly(a,i);

        //insertSort(a,i);

        selectSort(a,i);
        dispaly(a,i);
        
        return 0;
    }



  • 相关阅读:
    map
    01背包和完全背包 POJ
    并查集 计算节点数量
    set
    map,vector,queue 图 综合运用
    并查集 hdu-1325 Is It A Tree?
    js中的ajax
    java算法
    MySql在Window上的安装
    微信开发账号要求
  • 原文地址:https://www.cnblogs.com/wsq724439564/p/3258147.html
Copyright © 2020-2023  润新知