目前共有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許可協議進行許可。