这里我分享简单的冒泡排序,原理比较简单。

假设我们要求从小到大排

- 我们每次将左右两个数比较大小, 大数字往后放(更加形象一点就是,重的石头往下掉,轻的泡沫往上升)

经过这样的操作,我们每一轮循环都将当前这一轮的最大值放在了后面

故写出此代码,不是很精简,但是为了理解已经足够清楚。

#include <stdio.h>

int main() {
    int n;
    int nums[105];
    while (scanf("%d", &n) != EOF) {
        for (int i = 0; i < n; i++) {
            scanf("%d", &nums[i]);
        }
        // 冒泡排序
        for (int i = 0; i < n; i++) {
            for (int j = 1; j < n - i; j++) {
                if (nums[j - 1] > nums[j]) {
                    int t = nums[j - 1];
                    nums[j - 1] = nums[j];
                    nums[j] = t;
                }
            }
        }
        for (int i = 0; i < n; i++) {
            printf("%d ", nums[i]);
        }
        
    }
    return 0;
}