기본 자료형을 사용한 오름차순 정렬
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
int compare(const void *x,const void *y)
{
return *(int *)x>*(int *)y?1:-1;
}
int main(void)
{
int N=10, arr[10];
srand((unsigned)time(NULL));
for(int n=0;n<N;++n)
arr[n]=rand()%100;
qsort((void *)arr,(size_t)N,sizeof(int),compare);
for(int n=0;n<N;++n)
printf("%d ", arr[n]);
return 0;
}
구조체를 사용한 오름차순 정렬
#include<stdio.h>
#include<stdlib.h>
#include<time.h>
typedef struct
{
int primary, secondary;
}
dimension;
int compare(const void *x,const void *y)
{
return ((dimension *)x)->primary<((dimension *)y)->primary?-1:((dimension *)x)->primary>((dimension *)y)->primary?1:((dimension *)x)->secondary<((dimension *)y)->secondary?-1:1;
}
int main(void)
{
int N=30;
dimension arr[30];
srand((unsigned)time(NULL));
for(int n=0;n<N;++n)
{
arr[n].primary=rand()%5;
arr[n].secondary=rand()%5;
}
qsort((void *)arr,(size_t)N,sizeof(dimension),compare);
for(int n=0;n<N;++n)
printf("%d %d\n", arr[n].primary, arr[n].secondary);
return 0;
}
'C언어 알고리즘' 카테고리의 다른 글
<C언어 알고리즘> 최대합 부분배열 (0) | 2020.04.11 |
---|---|
<C언어 알고리즘> 배열의 인덱스와 값이 일치하는 경우 찾기 (0) | 2020.04.10 |
<C언어 알고리즘> 정렬 후 회전된 배열 (0) | 2020.04.10 |
<C언어 알고리즘> 반복문을 사용하지 않고 합계 구하기 (0) | 2020.04.09 |
<C언어 알고리즘> 반복문을 사용하지 않고 선택정렬 (0) | 2020.04.09 |