// 삽입 정렬
{
int arr[] = { 1,2,4,5,3,6 };
int size = sizeof(arr) / sizeof(arr[0]);
Print(arr, size);
int i = 4;
int key = arr[i];
int j = i;
for (j = i; j > 0 && arr[j-1]>key; j--)
{
if (arr[j - 1] <= key)
break;
arr[j] = arr[j - 1];
Print(arr, size);
}
arr[j] = key;
Print(arr, size);
cout << endl;
}
// Insertion Sort
{
int arr[] = { 1,2,4,5,3,6 };
int size = sizeof(arr) / sizeof(arr[0]);
int i, key, j;
for (i = 1; i < size; i++)
{
key = arr[i];
j = i;
for (; j > 0 && arr[j - 1] > key; j--)
{
arr[j] = arr[j - 1];
cout << "Inner ";
Print(arr, size);
}
arr[j] = key;
cout << "Outer ";
Print(arr, size);
}
}
'컴퓨터 프로그래밍 공부 > 자료구조와 알고리즘' 카테고리의 다른 글
동적 계획법 (1) (0) | 2024.05.18 |
---|---|
Tree (0) | 2024.04.28 |
선택 정렬 구현 (0) | 2024.04.18 |
원형 리스트 (0) | 2024.04.17 |
연결 리스트(Linked List) (0) | 2024.03.14 |