[C] 삽입 정렬
출처 - C로 배우는 알고리즘 (이재규 지음)
#include <stdio.h>
#include <stdlib.h>
#include <memory.h>
void insert_sort(char a[], int n);
int main(int argc, char *argv[], char **env)
{
char word[] = "TOLEARNSORTALGORITHM";
printf("정렬 전[%s]\n", word);
insert_sort(word, (sizeof(word) - 1) / sizeof(char));
printf("정렬 후[%s]\n", word);
return 0;
}
void insert_sort(char a[], int n)
{
int i = 0, j = 0;
char t = 0;
for(i = 1; i < n; i++)
{
t = a[i];
j = i;
while(a[j-1] > t && j > 0) // 굳이 t를 선언하지 않고 a[i]를 바로 넣어도 되나 속도에서 차이가 있음
{
a[j] = a[j-1];
j--;
}
a[j] = t;
}
}
댓글
댓글 쓰기