目前共有1篇帖子。
【程式】選擇排序法C語言程式
1樓 巨大八爪鱼 2016-1-9 17:32
#include <stdio.h>
#define COMPARE <

int main()
{
    int nums[] = {303, 558, 314, 117, 205, 48, 96, 118, 653};
    int count = sizeof(nums) / sizeof(int);
    int i, j, temp, max_j;
    
    // 按從大到小排序
    for (i = 0; i < count - 1; i++) // 循環共進行count - 1輪
    {
        // 每輪循環除第一個外,比較餘下的數,找出最大的數的下標
        max_j = i + 1;
        for (j = i + 2; j < count; j++)
        {
            if (nums[max_j] COMPARE nums[j])
                max_j = j;
        }
        
        // 如果該輪循環第一個數比最大的數小,就交換
        if (nums[i] COMPARE nums[max_j])
        {
            temp = nums[i];
            nums[i] = nums[max_j];
            nums[max_j] = temp;
        }
    }
    for (i = 0; i < count; i++)
        printf("%d ", nums[i]);
    putchar('\n');
    return 0;
}

回復帖子

內容:
用戶名: 您目前是匿名發表
驗證碼:
 
 
©2010-2024 Arslanbar [手機版] [桌面版]
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。