作者共发了1篇帖子。 内容转换:不转换▼
 
点击 回复
351 0
【程式】選擇排序法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;
}

回复帖子

内容:
用户名: 您目前是匿名发表
验证码:
(快捷键:Ctrl+Enter)
 

本帖信息

点击数:351 回复数:0
评论数: ?
作者:巨大八爪鱼
最后回复:巨大八爪鱼
最后回复时间:2016-1-9 17:32
 
©2010-2024 Arslanbar Ver2.0
除非另有声明,本站采用知识共享署名-相同方式共享 3.0 Unported许可协议进行许可。