티스토리 뷰
정렬이란?
정렬은 물건을 크기순으로 오름차순이나 내림차순으로 나열하는 것
정렬은 컴퓨터 공학분야에서 가장 기본적이고 중요한 알고리즘중의 하나

정렬은 자료 탐색에 있어서 필수적이다.
(예) 만약 사전에서 단어들이 정렬이 안되어 있다면?

버블 정렬

#include ;<stdio.h>
#define ;SIZE 5
int main(void)
{
int i, k;
int list[SIZE] = { 16, 7, 9, 1, 3 };
// ;배열의 요소를 정렬한다.
for (k = 0; k < SIZE; k++) {
for (i = 0; i < SIZE-1; i++) {
if (list[i] > list[i + 1]) { // ;크기 순이 아니면
// ;서로 교환한다.
int tmp = list[i];
list[i] = list[i + 1];
list[i + 1] = tmp;
}
}
}
// ;배열의 요소를 출력한다.
for (i = 0; i < SIZE; i++) {
printf("%d ", list[i]);
}
return 0;
}
변수의 값을 서로 교환할 때
다음과 같이 하면 안됨
list[i] = list[least]; // list[i]의 기존값은 파괴된다!
list[least] = list[i];
올바른 방법
temp = list[i];
list[i] = list[least];
list[least] = temp;
'It' 카테고리의 다른 글
Max weber가 제시한 이념형으로서의 관료제의 특성 (0) | 2023.03.26 |
---|---|
BCG 도표 (BCG matrix) (0) | 2023.03.25 |
C언어 함수, 매개변수, 지역변수, 전역변수, static 정적변수 (0) | 2023.03.23 |
자바의 장점 (0) | 2023.03.22 |
프로토콜 설계 시 고려 사항 (0) | 2023.03.21 |
댓글