컴퓨터 프로그래밍 공부/자료구조와 알고리즘

삽입 정렬 구현

게임 개발 2024. 4. 21. 19:25

 

	// 삽입 정렬
	{
		int arr[] = { 1,2,4,5,3,6 };
		int size = sizeof(arr) / sizeof(arr[0]);

		Print(arr, size);
 
		int i = 4;
		int key = arr[i];
		int j = i;
		for (j = i; j > 0 && arr[j-1]>key; j--)
		{
			if (arr[j - 1] <= key)
				break;

			arr[j] = arr[j - 1];

			Print(arr, size);
		}

		arr[j] = key;

		Print(arr, size);
		cout << endl;
	}

	// Insertion Sort
	{
		int arr[] = { 1,2,4,5,3,6 };
		int size = sizeof(arr) / sizeof(arr[0]);

		int i, key, j;
		for (i = 1; i < size; i++)
		{
			key = arr[i];
			j = i;
			for (; j > 0 && arr[j - 1] > key; j--)
			{
				arr[j] = arr[j - 1];

				cout << "Inner ";
				Print(arr, size);
			}

			arr[j] = key;

			cout << "Outer ";
			Print(arr, size);
		}
	}

'컴퓨터 프로그래밍 공부 > 자료구조와 알고리즘' 카테고리의 다른 글

동적 계획법 (1)  (0) 2024.05.18
Tree  (0) 2024.04.28
선택 정렬 구현  (0) 2024.04.18
원형 리스트  (0) 2024.04.17
연결 리스트(Linked List)  (0) 2024.03.14