알고리즘

3. 삽입정렬

it 킹왕짱 2022. 7. 29. 12:20
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

'알고리즘' 카테고리의 다른 글

2. 버블정렬  (0) 2022.07.29
1. 선택정렬  (0) 2022.07.29