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;
}



posted @ 2013-08-09 15:58  shouqiang Wei  阅读(292)  评论(0编辑  收藏  举报