排序算法汇总

数学
排序算法汇总

用户头像
24070255020393 更新于2024-8-10 10:12:31

初等排序

1.插入排序法

c'''

#include<stdio.h>


void trace(int A[], int N){

    int i;

    for(i=0; i < N; i++){

        if(i>0) printf(" ");

        printf("%d", A[i]);

        }

    printf("");

}void insertionSort(int A[], int N){

    int j, i, v;

    for(i = 1; i<N; i++){

        v = A[i];

        j = i-1;

        while(j>=0&&A[j]>v){

            A[j+1] = A[j];

            j--;

        }

    A[j+1] = v;

    trace(A,N);

    }

}

int main(int argc, char* argv){

    int N, i, j;

    int A[100];

    scanf("%d", &N);

    for(i = 0; i<N; i++) scanf("%d",&A[i]);

    trace(A,N);

    insertionSort(A,N);

    return 0;

}

2.冒泡排序法

待更新

收起
0
0
共2条回复
时间正序
用户头像
chenchen
7月前
你打缩进和括号不费劲吗(bushi
用户头像
Hope_ist
7月前

哥们每一个部分都写一段函数不麻烦吗。

长代码还好,哥们短代码这样写真就不怕函数全忘了之后一个一个找吗。代码风格还是能简短点就简短点吧。

1条评论
用户头像
24070255020393
6月前

Hope_ist:

    同志你好。不同的人有不一样的编码习惯。通过删减函数达到化减代码风格确实是个好方法。但是在使用的代码编辑器中(如CLion,VisualStudio,DevC++,CFree)编写,每一个函数名都会被标出,因此不会出现忘记函数名称的情况。同时,将不同功能的代码放在不同的函数中,对我个人而言,有利于增强代码的可读性。如果需要提升效率,可以将一般函数换成内联函数或宏函数。如果有更好的解决方案,非常欢迎在下方分享。如果有错误,非常欢迎指出。谢谢。