m0_59611576
2021-06-25 16:48
采纳率: 50%
浏览 33

C语言冒泡法排序大小

4286

3185

2895

3550

2745按大小排序

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

2条回答 默认 最新

  • 蛋糕店筹备中 2021-06-25 16:56
    最佳回答
    #include <stdio.h>
     
    #define ARR_LEN 255 /*数组长度上限*/
    #define elemType int /*元素类型*/
     
    /* 冒泡排序 */
    /* 1. 从当前元素起,向后依次比较每一对相邻元素,若逆序则交换 */
    /* 2. 对所有元素均重复以上步骤,直至最后一个元素 */
    /* elemType arr[]: 排序目标数组; int len: 元素个数 */
    void bubbleSort (elemType arr[], int len) {
        elemType temp;
        int i, j;
        for (i=0; i<len-1; i++) /* 外循环为排序趟数,len个数进行len-1趟 */
            for (j=0; j<len-1-i; j++) { /* 内循环为每趟比较的次数,第i趟比较len-i次 */
                if (arr[j] > arr[j+1]) { /* 相邻元素比较,若逆序则交换(升序为左大于右,降序反之) */
                    temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
    }
     
    int main (void) {
        elemType arr[ARR_LEN] = {4286,3185,2895,3550,2745};
        int len = 5;
        int i;
         
        bubbleSort (arr, len);
        for (i=0; i<len; i++)
            printf ("%d\t", arr[i]);
        putchar ('\n');
         
        return 0;
    }
    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题