Develop
2003.04.23 11:05
[c] 단기과정[01/24] 정렬 알고리즘
조회 수 6977 댓글 0
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);
}
-------------------------------------------------------------------
-
[c] 단기과정[01/06] sizeof, 실수표현, 메모리, 연산자
-
[c] 단기과정[01/07] 제어문, 피보나치수열
-
[c] 단기과정[01/08] 배열, 포인터
-
[c] 단기과정[01/08] (다차원 + 배열)포인터, void 포인터
-
[c] 단기과정[01/08] 과제.. 파스칼 삼각형
-
[c] 단기과정[01/10] 과제.. swap(any data, ..)
-
[c] 단기과정[01/14] 파일 입출력
-
[c] 단기과정[01/14] 피보나치, 파스칼.. 파일입출력
-
[c] 단기과정[01/15] 피보나치, 파스칼.. 링크리스트
-
[c] 단기과정[01/17] 후위연산 스택 계산기..
-
[c] 단기과정[01/24] 정렬 알고리즘
-
[js] 새로고침(refresh)방법과 다른 페이지 바꾸기..