排序算法总结(长期更新)

别来无恙 提交于 2019-12-31 18:30:07

1.最基础的排序算法

冒泡排序

思想:每次使用交换的方式将剩余元素中较大的元素放到一端,直到剩余元素为0的时候排序结束。

#include<stdio.h>

int main() {
    int a[5] = {1, 3, 5, 10, 7};
    printf("排序前:");
    for (int i = 0; i < 5; i++)
        printf("%d ", a[i]);
    int temp = 0;
    //每次循环将最大值交换到数组最右端
    for (int i = 0; i < 5; i++) {
        for (int j = 0; j < 5 - i; j++) {
        //每遍历一次数组,可以确定当前剩余元素中的最大值
            if (a[j] > a[j + 1]) {
                temp = a[j];
                a[j] = a[j + 1];
                a[j + 1] = temp;
            }

        }

    }
    printf("\n排序后:");
    for (int i = 0; i < 5; i++)
        printf("%d ", a[i]);
}

排序结果:
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!