일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
Tags
- jgrp000032 #ocp #
- CI #CD #CI/CD
- Swap Memory
- jmap #jstack
- lenova #레노버 #노트북
- test #비교
- Node #POD #Container
- Grid #CSS
- Excel #엑셀
- 티스토리챌린지
- 오블완
- bootstrap #css #CSS
- shell #shell script
- NameSpace #NS
- 백준 #10430
- 네트워크 #NW
- DB #mariaDB #SQL
- dify
- dump #jattach
- OCP
- publishnotreadyaddress
- Kafka #카프카
- EFK
- function #사용자 정의 함수
- lvm #lv #vg #pv
- istio #k8s #kubernetes
- EKS
- Linux #wc
- PODS #POD #pods #pod #파드 #재기동 #롤링재기동 #rolling
- Python #pakage
Archives
- Today
- Total
BEOM_IT
C - 버블정렬 (bubble sort) 본문
728x90
반응형
버블 정렬(bubble sort) 알고리즘의 개념
서로 인접한 두 원소를 검사하여 정렬하는 알고리즘
인접한 2개의 레코드를 비교하여 크기가 순서대로 되어 있지 않으면 서로 교환한다.
선택 정렬과 기본 개념이 유사하다.
버블 정렬은 첫 번째 자료와 두 번째 자료를, 두 번째 자료와 세 번째 자료를, 세 번째와 네 번째를, … 이런 식으로 (마지막-1)번째 자료와 마지막 자료를 비교하여 교환하면서 자료를 정렬한다.
1회전을 수행하고 나면 가장 큰 자료가 맨 뒤로 이동하므로 2회전에서는 맨 끝에 있는 자료는 정렬에서 제외되고, 2회전을 수행하고 나면 끝에서 두 번째 자료까지는 정렬에서 제외된다. 이렇게 정렬을 1회전 수행할 때마다 정렬에서 제외되는 데이터가 하나씩 늘어난다.
# include <studio.h>
// 버블정렬
void main(){ // list 변수와 n 변수 선언
int i , j , temp ; 변수 // i , j , temp 선언
int a[5] = {7,9,8,10,5}; // 배열 선언
x = sizeof(a) / sizeof(int); // 배열 길이 구하기
for ( i=0; i < x; i++){
// i 가 0부터 배열 길이만큼 반복
for(j=0; j<i; j++){
// j 가 i 보다 작을때 까지 증가
if(list[j] < list[j+1]){
temp = list [j];
list[j] = list[j+1];
list[j+1] = temp;
// 값을 비교해 큰 값을 뒤로
}
}
for(i=0; i < x; i++){
printf("%d" ,a[i]);
}
}
}
출력: 5, 7, 8, 9, 10
728x90
반응형