티스토리 뷰
정렬이란?
정렬은 물건을 크기순으로 오름차순이나 내림차순으로 나열하는 것
정렬은 컴퓨터 공학분야에서 가장 기본적이고 중요한 알고리즘중의 하나
정렬은 자료 탐색에 있어서 필수적이다.
(예) 만약 사전에서 단어들이 정렬이 안되어 있다면?
버블 정렬
#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' 카테고리의 다른 글
레저스포츠 서비스 (0) | 2022.08.18 |
---|---|
C언어 함수, 매개변수, 지역변수, 전역변수, static 정적변수 (0) | 2022.08.17 |
C언어 배열, C 배열 (0) | 2022.08.17 |
변수란? 지료형이란? 상수란?, 오버플로우 (0) | 2022.08.16 |
C언어 오류의 종류 (0) | 2022.08.16 |
댓글