알고리즘 노팅 - 정렬 종류와 구현(버블정렬)

1. ToDo

- 그냥 문득 내용을 공부하면서 정리하고 싶어진 정렬 알고리즘


2. 종류

  • 선택 정렬

  • 삽입 정렬

  • 버블 정렬

  • 합병 정렬

  • 퀵 정렬


3. 개념설명

  • 글로 끄적..

    전체적인 정렬 알고리즘 중 시간 복잡도가 느린 편이지만, 단순한 코드로 인해 자주 쓰인다. 비교 대상의 타겟의 인접한 두 원소를 비교함으로 원소들이 정렬된다. 타겟의 인접 원소를 비교 후 이동이 필요하면 우측으로 이동한다. 그 이동 후에도 타겟은 변하지 않고 다시 인접 원소와 비교를 시작하여 조건이 성립할 때까지 계산이 계속된다.
  • 그림으로 쓱삭..

    아래와 같은 그림으로 진행되고 (배열의 수 - 1)만큼 반복한다.




4. 코드로 투닥투닥.. (C#)

int[] array = { 1, 5, 3, 8, 9, 2, 7, 6, 4, 10 };
int temp = 0;

for (int i = 0; i < (array.Length - 1); i++)
{
    for (int j = 0; j < (array.Length - 1) - i; j++)
    {
    	if (array[j] > array[j + 1])
        {
            temp = array[j];
            array[j] = array[j + 1];
            array[j + 1] = temp;
        }

	for (int r = 0; r < array.Length; r++)
    	{                  		
    		Console.Write(array[r] + " ");
        }
    }
}

좋은 웹페이지 즐겨찾기