回覆列表
  • 1 # 使用者65588379265019

    c語言透過函式呼叫實現選擇排序法:

    1、寫一個簡單選擇排序法的函式名,包含引數。int SelectSort(int * ListData,int ListLength);

    2、寫兩個迴圈,在迴圈中應用簡單選擇插入排序:

    int SelectSort(int * ListData,int ListLength)

    {

    int i , j ;

    int length = ListLength;

    for(i=0;i<=length-2;i++)

    {

    int k = i;

    for(j=i+1;j<=length-1;j++)

    {

    if(ListData[k]>ListData[j])

    {

    k=j;

    }

    }

    if(k!=i)

    {

    int tmp = ListData[i];

    ListData[i] = ListData[k];

    ListData[k] = tmp;

    }

    }

    return 0;

    }

    3、對編好的程式進行測試,得出測試結果:

    int main()

    {

    int TestData[5] = {34,15,6,89,67};

    int i = 0;

    printf("排序之前的結果\n");

    for(i = 0;i<5;i++)

    printf("|%d|",TestData[i]);

    int retData = SelectSort(TestData,5);

    printf("排序之後的結果:\n");

    for(i = 0;i<5;i++)

    printf("|%d|",TestData[i]);

    return 0;

    }

    4、簡單選擇排序中,需要移動的記錄次數比較少,主要的時間消耗在對於資料的比較次數。基本上,在比較的時候,消耗的時間複雜度為:n*n。

  • 中秋節和大豐收的關聯?
  • 倉鼠得了溼尾症可以給它洗澡嗎?