삽입 정렬(Insertion Sort)

배열 인덱스 [1]번부터 자기 앞의 숫자와 값의 비교를 한다. 

#include <stdio.h>

InsertionSort(int *InsertionObject, int length)
{
	int i, j, temp;

	for (i = 1; i < length; i++)       //i=1번째 부터 시작 
	{
		for (j = i; j >0; j--)	//j를 j의 앞의 수들과 비교한다 
		{
			if (InsertionObject[j - 1] > InsertionObject[j])
			{
				//SWAP
				temp = InsertionObject[j - 1];
				InsertionObject[j - 1] = InsertionObject[j];
				InsertionObject[j] = temp;
			}
		}
		//과정출력
		for (int a = 0; a < length; a++)
		{
			printf("%d ", InsertionObject[a]);
		}
		printf("\n");
	}
}

int main()
{
	int InsertionObject[] = { 6, 3, 8, 12, 2, 9, 1, 27 };
	int length = sizeof(InsertionObject) / sizeof(int);
	InsertionSort(InsertionObject, length);
	return 0;
}

 

728x90

+ Recent posts