Try
[알고리즘/자료구조] 삽입정렬 (insertion sort) 본문
삽입정렬 (insertion sort)
삽입 정렬(insertion sort)은 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여, 자신의 위치를 찾아 삽입함으로써 정렬을 완성하는 알고리즘이다.
소스
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 32 33 34 35 36 37 38 39 40 41 42 43 | /* /* /* khsh5592@naver.com /* has3ong.tistory.com /* /* 2018 - 11 - 16 /* */ #include <iostream> #include <stdio.h> #include <conio.h> using namespace std; int Data[10] = {9, 5, 12, 23, 4, 1, 18, 6, 3, 11}; void main() { int length = sizeof(Data) / sizeof(Data[0]); for(int i = 0; i<length; i++) { int temp = Data[i]; int index = i-1; while( (index >= 0) && (Data[index] > temp)) { Data[index + 1] = Data[index]; index--; } Data[index+1] = temp; cout << " Data Array is [ " ; for (int i = 0; i < length; i++) { cout << Data[i] << " "; } cout << "] " << endl; } getch(); } | cs |
결과화면
출처
위키피디아
https://en.wikipedia.org/wiki/Insertion_sort
'Algorithm > Algorithm 기초' 카테고리의 다른 글
[알고리즘/자료구조] 분할 합병 정렬(Merge Sort) (0) | 2018.11.16 |
---|---|
[알고리즘/자료구조] 선택 정렬 (Selection Sort) (0) | 2018.11.16 |
[알고리즘/자료구조] 큐 (Queue) (0) | 2018.11.11 |
[알고리즘/자료구조] 스택 (Stack) (0) | 2018.11.11 |
[알고리즘/자료구조] 퀵 정렬 (Quick Sort) (0) | 2018.11.09 |
Comments