본문 바로가기

C/Reference

[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;
	}
}
반응형