-
C언어 - 기본 정렬 알고리즘들(버블, 삽입, 선택)프로그래밍/C 2021. 9. 1. 22:49반응형
자꾸만 까먹는다..
#define _CRT_SECURE_NO_WARNINGS #include <stdio.h> void main() { int n, tmp, j; scanf("%d", &n); int li[100] = { 0, }; if(n<100) for (int i = 0;i < n;i++) scanf("%d", &li[i]); //선택 for (int i = 0;i < n - 1;i++) { for (int j = i + 1;j < n;j++) { if (li[j] < li[i]) { tmp = li[j]; li[j] = li[i]; li[i] = tmp; } } } //버블 for (int i = 0;i < n - 1;i++) { for (int j = 0;j < n - i - 1;j++) { if (li[j] > li[j + 1]) { tmp = li[j]; li[j] = li[j + 1]; li[j + 1] = tmp; } } } //삽입 for (int i = 0;i < n;i++) { tmp = li[i]; for (j = i-1;j >= 0 && li[j] > tmp;j--) li[j + 1] = li[j]; li[j+1] = tmp; //이때 j는 -1혹은 li[j]<tmp인 것의 인덱스를 가진다. } for (int i = 0;i < n;i++) printf("%d", li[i]); }
반응형'프로그래밍 > C' 카테고리의 다른 글
C/C++ - 쉼표연산자 : Comma Operator (1) 2022.03.11 C언어 : 간혹 ebcdic와 같은 encoding을 쓰는 경우, a~z가 순차적이지 않을 수 있음. (0) 2021.04.18 C언어 실수형 상수 (0) 2021.04.05 C - Printf의 Default Argument Promotions (0) 2021.04.03 C언어 switch case문에서 범위 조건 사용. (1) 2021.03.24