Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- graph
- C언어
- Python
- php
- dfs
- udemy
- BFS
- JavaScript
- 따라하면서 배우는 C언어
- String
- BASIC
- C
- Algorithm
- 생활코딩
- Math
- Cleancode
- sorting
- 백준
- programmers
- BOJ
- DP
- Algospot
- 인프런
- server
- web
- 정수론
- 따배씨
- 종만북
- greedy
- 따라하며 배우는 C언어
Archives
- Today
- Total
몽상실현개발주의
[따배씨] 14.25 qsort() 함수 포인터 연습문제 본문
따배씨 - 따라하며 배우는 C언어
14강 구조체_2
14.25 qsort() 함수 포인터 연습문제
#include <stdio.h>
#include <stdlib.h>
int compare(const void* first, const void* second){
// void type pointer 는 어떤 타입이든 가리킬 수 있다
if (*(int*)first > *(int*)second)
return 1;
else if (*(int*)first < *(int*)second)
return -1;
else
return 0;
}
int main(){
int arr[] = {8, 2, 5, 3, 6, 11};
int n = sizeof(arr) / sizeof(arr[0]);
qsort(arr, n, sizeof(int), compare);
for (int i = 0; i < n; i++)
printf("%d ", arr[i]);
return 0;
}
- quick sort 예제
#include <stdio.h>
#include <stdlib.h>
struct kid
{
char name[100];
int height;
};
int compare(const void* first, const void* second)
{
if (((struct kid*)first)->height > ((struct kid*)second)->height)
return 1;
else if (((struct kid*)first)->height < ((struct kid*)second)->height)
return -1;
else
return 0;
}
int main()
{
struct kid my_friends[] = {
"Jack Jack", 40, "Geenie", 300, "Aladin", 170, "Piona", 150
};
const int n = sizeof(my_friends) / sizeof(struct kid);
qsort(my_friends, n, sizeof(struct kid), compare);
for (int i = 0; i < n; i++)
{
printf("%s \t%d\n", my_friends[i].name, my_friends[i].height);
}
return 0;
}
int compare(const void* first, const void* second)
{
if (((struct kid*)first)->height > ((struct kid*)second)->height)
return 1;
else if (((struct kid*)first)->height < ((struct kid*)second)->height)
return -1;
else
return 0;
}
- 함수의 입력을 pointer 로 받아서 structure 의 내부 조건으로 정렬
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
http://www.inflearn.com/course/following-c
'Language > C' 카테고리의 다른 글
[따배씨] 15.1 비트단위 논리 연산자 (0) | 2021.07.20 |
---|---|
[따배씨] 4.26 함수 포인터의 배열 연습문제 (0) | 2021.07.14 |
[따배씨] 14.24 복잡한 선언 Declaration 을 해석하는 요령 (0) | 2021.07.13 |
[따배씨] 14.23 자료형에게 별명을 붙여주는 typedef (0) | 2021.07.13 |
[따배씨] 14.22 함수 포인터의 사용 방법 (0) | 2021.07.11 |
Comments