[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;
	}
}

댓글

이 블로그의 인기 게시물

[NSIS] 32비트와 64비트 모듈 등록하는 법. (regsvr32)

[Visual Studio] Windows 7 에서 Visual Studio 6.0 디버그 시 프로세스 좀비되는 증상 해결 방법