본문 바로가기

Computer/C/C++

정렬 (1)

 

* 정렬

 

1) Bubble sort

배열에서 이웃하는 두 원소씩 차례대로 정렬하는 작업을 반복함으로써 배열 전체를 정렬하는 알고리즘이다.

두 원소를 정렬하는 과정을 (배열 원소수 - 1)만큼 반복한다.

단계마다 맨 뒤부터 정렬이 된다.

 

 

 5

 3

 2

 1

 

- 1 -                           

 4

 2

 1

 5

- 2 -

 3

2

 1

 4

 5

- 3 -

 2

 3

 4

 5

- 4-

 1

 3

 4

 5

 

 

2) Selection sort

항목을 모든 항목과 비교하여 가장 작은 항목부터 선택하여 정렬하는 알고리즘이다.

단계마다 맨 앞부터 정렬이 된다.

 

 5

 2

 1

 3

 

- 1 -

 1

 2

 5

 3

- 2 -

 1

 4

 5

 3

- 3 -

 1

 3

 5

 4

- 4 -

 1

 3

 4

 5

 

 

 

3) Insertion sort

배열 원소들을 좌우로 정렬된 부분과 정렬되지 않은 부분으로 나눈 후 정렬되지 않는 부분의 원소를

정렬된 부분의 자리에 한개씩 삽입하여 모든 원소를 정렬하는 알고리즘이다.

 

 5

 2

 1

 3

       TarGet

        4      

- 1 -   

 4

 2

 1

 3

TarGet

        2      

- 2 -   

 2

 5

 1

 3

TarGet

       1      

- 3 -   

 1

 4

 5

 3

TarGet

       3      

- 4 -   

 1

 3

 4

 5

 

 

 

# 대소문자 구분 안함

 

 

'Computer > C/C++' 카테고리의 다른 글

동적 할당  (0) 2013.05.14
정렬 (2)  (0) 2013.05.12
비행기 좌석 예약  (0) 2013.05.09
파일 입출력  (0) 2013.05.09
행렬  (0) 2013.05.07