1. 程式人生 > >精彩百例:一維陣列,選擇排序

精彩百例:一維陣列,選擇排序

/*
    file name:選擇法排序
<span style="white-space:pre">	</span>重點在於迴圈賦值給min,找出最小值的排序方法

*/
# include <stdio.h>

int main(void)
{
    int i, j, min, temp;
    int array[10];
    /*輸入陣列元素*/
    printf("please input ten integer: \n");
    for(i=0; i<10; i++)
    {
        printf("array[%d] = ", i);
        scanf("%d", &array[i]);
    }
    /*輸出陣列元素*/
    printf("the array is: ");
    for(i=0; i<10; i++)
    {
        printf("array[%d] = %d\n", i, array[i]);
    }
    printf("\n");
    /*陣列元素排序*/
    for(i=0; i<9; i++)
    {
        min = i;
        /*如果前面的大於後面的,就把它賦給min,一直迴圈賦給min,
        迴圈結束,min就是最小的,然後置換位置,再進行下一次比較*/
        for(j=i; j<10; j++)
        {
            if(array[min] > array[j])
                min = j;
        }
        temp = array[i];
        array[i] = array[min];
        array[min] = temp;
    }
        for(i=0; i<10; i++)
        {
            printf("%d", array[i]);
        }

    return 0;
}

執行結果是: