2010년 5월 23일 일요일

퀵소트 qsort(내, 오름차순)

@내림차순

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char compare(const void *a, const void *b)
{
 return (*(char *)b - *(char *)a) ;//*(char*)강제 캐스팅 해주어야 함
}
 
void main()
{
 char str[]={1,2,3,4,5,6,7,8,9,10};
 int i;
 qsort(str,sizeof(str),sizeof(char),compare);//시작주소, 문자열길이 , 자료형크기, 비교함수
 for(i = 0; i < sizeof(str);i++)
 printf("%d ",str[i]);
}

 

@오름차순

#include <stdio.h>
#include <string.h>
#include <stdlib.h>

char compare(const void *a, const void *b)
{
 return (*(char *)b - *(char *)a) ;//*(char*)강제 캐스팅 해주어야 함
}
 
void main()
{
 char str[]={1,2,3,4,5,6,7,8,9,10};
 int i;
 qsort(str,sizeof(str),sizeof(char),compare);//시작주소, 문자열길이 , 자료형크기, 비교함수
 for(i = 0; i < sizeof(str);i++)
 printf("%d ",str[i]);
}

댓글 없음:

댓글 쓰기