728x90
버블 정렬
- 바로 옆에 있는 값과 비교하면서 비교할 때마다 값을 스위칭하면서 이동
- 선택 정렬과 시간 복잡도는 같지만 실제 수행시간이 가장 느림
=> 버블 정렬 : 매번 비교할 때마다 값을 스위칭
=> 선택 정렬 : 전체 원소를 비교해서 최솟값을 찾은 후 가장 마지막에만 값을 스위칭
시간 복잡도
- O(N^2)
#include<stdio.h>
#include<iostream>
int main(){
int data[] = {1,5,9,8,2,5,6,3,7,10};
int i,j;
for(i = 0; i < 10; i++){
for(j = 0; j < 9 - i; j++){ //인덱스를 넘어가지 않도록 마지막 인덱스 전까지만 돔
if(data[j] > data[j+1]) std::swap(data[j],data[j+1]);
}
}
for(i=0;i<10;i++){
printf("%d ",data[i]);
}
}
'알고리즘 개념' 카테고리의 다른 글
힙 정렬 ( Heap sort ) (0) | 2022.02.11 |
---|---|
C++ STL sort() 함수 다루기 (0) | 2022.02.10 |
병합 정렬 ( Merge sort ) (0) | 2022.02.09 |
삽입 정렬(insertion sort) (0) | 2022.02.08 |
퀵정렬(Quick Sort) (0) | 2022.02.07 |