mergesort.c

来自「A order algoritm comparison by the C tim」· C语言 代码 · 共 44 行

C
44
字号
/*------------------------------------ * Algoritmo di riordino merge sort */#include "misc.h"void sort(int A[], int min, int max) {   if (min < max) {   int Mid = (min+max)/2;   sort(A,min,Mid);   sort(A,Mid+1,max);   merge(A,min,Mid,max);                  }}  /* sort */int merge(int A[], int p, int q,int r) {       int B[r-p+1];        int i = p;        int j = q+1;        int k = 0;        while ( (i <= q) && (j <= r) ) {                if (A[i] < A[j])                        B[k] = A[i++];                else                         B[k] = A[j++];                k++;        }        while (i <= q)                B[k++] = A[i++];                while (j <= r)                B[k++] = A[j++];                for (i=0; i<r-p+1; i++)                A[p+i] = B[i];}  /* merge */

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?