目前共有1篇帖子。 字體大小:較小 - 100% (默認)▼  內容轉換:马新简体▼
 
點擊 回復
535 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)
 

本帖信息

點擊數:535 回複數:0
評論數: ?
作者:巨大八爪鱼
最後回復:巨大八爪鱼
最後回復時間:2016-1-9 17:32
 
©2010-2025 Purasbar Ver2.0
除非另有聲明,本站採用創用CC姓名標示-相同方式分享 3.0 Unported許可協議進行許可。