選擇法和冒泡法排序介面

田園詩人之園發表於2015-08-13
#define ret_ok  0
#define ret_err 1
#define ARRAY_SIZE 10

/*選擇法排序*/
int Choice_Sort(int array[],int array_len)
{
    int i = 0;
    int j = 0;
    int iMin = 0;
    int iTemp = 0;
    int iFlag = 0;

    for(i=0;i<array_len-1;i++)
    {
        iMin = i;
        for(j=i+1;j<array_len;j++)
        {
            if(array[iMin] < array[j])
            {
                iMin = j;
                iTemp = array[j];
                array[j] = array[iMin];
                array[iMin] = iTemp;
            }
        }       
    }

    return ret_ok;
}

/*冒泡法排序*/
int Bubble_Sort(int array[],int array_len)
{
    int i = 0;
    int j = 0;
    int iTemp = 0;

    /*外層迴圈代表迴圈的次數*/
    for(i=1;i<array_len;i++)
    {
        /*代表前size-i個資料最值得冒泡*/
        for(j=0;j<array_len-i;j++)
        {
            /*將最值後移*/
            if(array[j] > array[j+1])
            {
                iTemp = array[j];
                array[j] = array[j+1];
                array[j+1] = iTemp;
            }
        }
    }

    return ret_ok;
}

int main(int argc,char argv[])
{
    int i = 0;
    int iArray[ARRAY_SIZE];

    for( i=0;i<ARRAY_SIZE;i++ )
        scanf("%d",&iArray[i]);

    for(i=0;i<ARRAY_SIZE;i++)
    {
        printf("%d ",a[i]);
    }

    Choice_Sort(iArray,ARRAY_SIZE);
    printf("選擇法排序:\n");
    for(i=0;i<ARRAY_SIZE;i++)
    {
        printf("%d ",a[i]);
    }

    Bubble_Sort(iArray,ARRAY_SIZE);
    printf("冒泡法排序:\n");
    for(i=0;i<ARRAY_SIZE;i++)
    {
        printf("%d ",a[i]);
    }

    return 0;
}

相關文章