티스토리 뷰

It

C언어 정렬

worknettwo 2023. 3. 24. 22:23

정렬이란?

정렬은 물건을 크기순으로 오름차순이나 내림차순으로 나열하는 것

정렬은 컴퓨터 공학분야에서 가장 기본적이고 중요한 알고리즘중의 하나

정렬은 자료 탐색에 있어서 필수적이다.

(예) 만약 사전에서 단어들이 정렬이 안되어 있다면?

버블 정렬

#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;

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
글 보관함