알고리즘
삽입정렬(insertion sort)
giicha2
2020. 10. 21. 16:20
Name | Best | Avg | Worst | Run-time (int 60,000) sec |
버블정렬 | n^2 | n^2 | n^2 | 22.89 |
선택정렬 | n^2 | n^2 | n^2 | 10.84 |
삽입정렬 | n | n^2 | n^2 | 7.43 |
셀정렬 | n | n^1.5 | n^2 | 0.05 |
퀵정렬 | nlog₂n | nlog₂n | n^2 | 0.01 |
힙정렬 | nlog₂n | nlog₂n | nlog₂n | 0.03 |
병합정렬 | nlog₂n | nlog₂n | nlog₂n | 0.02 |
#include<stdio.h>
#define MAX_SIZE 5
void insertion_sort(int list[], int n)
{
int i, j, key;
for (i = 1; i < n; i++)
{
key = list[i];
for (j = i - 1; j >= 0 && list[j] > key; j--)
{
list[j + 1] = list[j];
}
list[j + 1] = key;
}
}
int main()
{
int i;
int n = MAX_SIZE;
int list[] = { 8,5,6,2,4 };
insertion_sort(list, n);
for (i = 0; i < n; i++)
{
printf("%d", list[i]);
}
}