Develop

[c] 단기과정[01/24] 정렬 알고리즘

by hooni posted Apr 23, 2003
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄
Merge Sort..
-------------------------------------------------------------------
#include<stdio.h>
#include<malloc.h>
#include<string.h>

void mergesort(char a[], int l, int r){
        int i, j, k, m;
        char *b;
        b = (char *)malloc(r+1);
        if(r>l){
                m = (r+l)/2;
                mergesort(a, l, m);
                mergesort(a, m+1, r);

                for(i=m+1; i>l; i--) b[i-1] = a[i-1];
                for(j=m; j<r; j++) b[r+m-j] = a[j+1];
                for(k=l; k<=r; k++) a[k] = (b[i]<b[j]) ? b[i++] : b[j--];
        }
}

void main(){
        char chr[]="asortingexmple";

        mergesort(chr, 0, strlen(chr)-1);

        printf("sort : %sn", chr);
}
-------------------------------------------------------------------