C语言利用冒泡法对集合进行由大到小排序案例代码

题目描述

设置一个可以存放1000个整数的数据集合(一维数组),输入一个整数n,输入n个整数存放在集合中。利用冒泡法对集合进行由大到小排序,输入一个整数x,插入排序后的集合中,使得数组依然有序。

输入

第一行一个整数n。
第二行 n个整数,赋值给集合。第三行一个整数x,为插入数据。

输出

第一行 请输入实际元素个数n:提示输入集合元素个数第二行 输出插入新数据之后的集合。

示例如下

输入

5

12 36 54 78 98

36

输出

98 78 54 36 36 12

案例代码

#include <stdio.h>

void bubbleSort(int arr[], int n) {
    for (int i = 0; i < n - 1; i++) {
        for (int j = 0; j < n - i - 1; j++) {
            if (arr[j] < arr[j + 1]) {
                int temp = arr[j];
                arr[j] = arr[j + 1];
                arr[j + 1] = temp;
            }
        }
    }
}

int main() {
    int n;
    printf("请输入实际元素个数n:");
    scanf("%d", &n);
    
    int arr[1000];
    for (int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    bubbleSort(arr, n);
    
    int x;
    scanf("%d", &x);
    
    int insertIndex = -1;
    for (int i = 0; i < n; i++) {
        if (arr[i] <= x) {
            insertIndex = i;
            break;
        }
    }
    
    for (int i = n; i > insertIndex; i--) {
        arr[i] = arr[i - 1];
    }
    arr[insertIndex] = x;
    
    // 输出插入新数据之后的集合
    for (int i = 0; i <= n; i++) {
        printf("%d ", arr[i]);
    }
    
    return 0;
}

运行截图

图片[1]-C语言利用冒泡法对集合进行由大到小排序案例代码-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享