728x90
- 삽입 정렬
필요할 때에 한해서만 삽입을 진행하기 때문에 데이터가 거의 정렬된 상태에서는 어떤 알고리즘보다 빠르다.
삽입 정렬은 선택, 버블 정렬보다 좋은 알고리즘.
#define _CRT_SECURE_NO_WARNINGS // scanf 보안 경고로 인한 컴파일 에러 방지
#include <stdio.h>
void insert(int a[], int num);
int main() {
int i, j, temp, a[10];
for (i = 0; i < 10; i++) {
scanf("%d", &a[i]);
}
insert(a, 10);
for (i = 0; i < 10; i++) {
printf("%d ", a[i]);
}
}
void insert(int a[], int count) {
int i, j, Data;
for (i = 1; i < count; i++) { //삽입할 원소 (a[0]은 정렬 됐다고 가정)
Data = a[i]; //삽입원소 Data
for (j = i-1; j >=0; j--) { //각각 비교할 원소
if (a[j] > Data) { a[j+1] = a[j]; }//한칸씩 뒤로 이동
else { break; }
}
a[j+1] = Data;
}
}
참고 - 윤성우의 열혈 자료구조
728x90
728x90