정렬 알고리즘의 하나.
n 항목으로 이루어진 정렬 대상 리스트(집합)중의 항목을 수직 방향으로 배열하였다고 생각하면, 아래 끝에서부터 시작해서 인접하는 두 항목의 값을 비교하여 올바른 순서로 되어 있지 않으면 위치를 교환한다. 이렇게 인접하는 항목의 값을 비교해서 자리를 교환하는 과정을 리스트의 끝 항목까지 반복해서 제일 큰 값이 끝에 오도록 한다. 이 이름은 리스트 중에서 제일 가벼운(작은) 항목이 물속의 거품(bubble)처럼 제일 위로 상승하고, 그 다음 가벼운 것이 다음 자리로 상승하여 제일 무거운 것이 끝자리로 오기 때문에 붙었다.
출처]
한국정보통신기술협회 : 버블 정렬
Python)
#리스트에 있는 데이터를 오름차순 정렬합니다.
def BubbleSort(list):
endIndex = len(list)-1
for passNo in range(endIndex, 0, -1):
for i in range(passNo):
if list[i] > list[i+1]:
list[i], list[i+1] = list[i+1], list[i]
return list
C)
void BubbleSort(int n, int *R)
{
int a, b;
int imsi;
int cnt;
for(a=0;a<n-1;a++)
{
for(b=0;b<n-1; b++)
{
if(R[b]>R[b+1])
{
imsi=R[b+1];
R[b+1]=R[b];
R[b]=imsi;
}
}
}
}
참고문제]
C언어 178제] 버블정렬
Python 328제] 버블정렬
※ 10월 25일은 독도의 날입니다.
대한민국의 아름다운 영토, 독도의 겨울
'프로그램 > 알고리즘' 카테고리의 다른 글
셸 정렬(Shell Sort) (2) | 2024.11.08 |
---|---|
병합 정렬(Merge Sort) (1) | 2024.11.01 |
wrtn.ai의 생성형AI 뤼튼(무료)이 알려주는 알고리즘 (3) | 2024.10.29 |
Naver의 생성형AI CLOVA X(무료)가 알려주는 알고리즘 (0) | 2024.10.29 |
Google의 생성형AI Gemini(무료)가 알려주는 알고리즘 (0) | 2024.10.29 |
댓글