meong_j
기록하는 습관.
meong_j
전체 방문자
오늘
어제
  • 분류 전체보기 (176)
    • 개인 공부 정리 (0)
    • 서버 운영 (37)
      • Linux (36)
    • Frontend (11)
      • Vue.js (10)
    • Backend (70)
      • Java (4)
      • Python (22)
      • Django (38)
      • Spring (6)
    • Database (5)
      • Oracle (4)
      • MySQL (1)
      • MariaDB (0)
    • Android (14)
      • Kotlin (6)
    • 배포 (9)
      • Docker (8)
      • AWS (1)
    • IT_study (29)
      • Coding test (17)
      • 알고리즘 (5)
      • 스터디 (6)

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • github

인기 글

반응형

태그

  • 이차원배열정렬
  • django
  • DHCP
  • 배포인프라
  • 개발자도서
  • dp #알고리즘
  • SASS Variables
  • 중첩라우트
  • 코틀린자료형
  • 리눅스방화벽
  • router-link
  • gabagecollecter
  • 안드로이드adaptor
  • docker
  • 리눅스인증
  • Kotlin
  • Proxy
  • 테크커리어
  • cpu사용률
  • dockersecret

최근 댓글

최근 글

250x250
hELLO · Designed By 정상우.
meong_j

기록하는 습관.

IT_study/알고리즘

[알고리즘] 버블 정렬(Bubble sort)의 개념 with c++

2021. 12. 30. 23:13
728x90
반응형

버블 정렬은 인접한 두 수를 계속해서 비교하여 정렬하는 알고리즘이다. 

 

1. 인접한 두 수를 대소를 비교한다.

2. 내림차순, 오름차순에 따라 두 수의 자리를 바꾼다.

3. 나머지 값들도 동일하게 처리한다.

 

구현이 매우 간단하여 코드 구현이 쉽지만, 비교 작업이 많기 때문에 시간 복잡도(n^2) 로 오래걸린다는 단점이 있다.

적은 양의 데이터를 정렬할때는 버블 정렬을 쓸 수 있지만, 대용량의 데이터를 정렬시 엄청 시간이 소요될 것이다. 

 

 

무작위 배열수의 버블 정렬 (wikipedia)

📌 버블 정렬 c++ 코드 구현

#include<stdio.h>

using namespace std;

int main(){

	//버블정렬-오름차순 
	
	int n, i,j, tmp, a[101];
	
	scanf("%d", &n);
	
	for(i=0; i<n; i++){
		scanf("%d ",&a[i] );
	}
	
	for(i=0; i<n-1; i++){
		for(j=0; j<n-i-1; j++){
			if(a[j]>a[j+1]) {
				tmp=a[j];
				a[j]=a[j+1];
				a[j+1]=tmp;
			}
		}
	}
	
	for(i=0; i<n; i++){
		printf("%d ",a[i] );
	}
	
	return 0;	
}

 

 

반응형
저작자표시 비영리 변경금지 (새창열림)

'IT_study > 알고리즘' 카테고리의 다른 글

[Algorithm] DP(Dynamic Programming) 동적계획법  (0) 2022.07.09
[알고리즘] 병합정렬(Merge Sort)의 개념 with c++  (0) 2022.01.02
[알고리즘] 삽입 정렬(Insertion sort) 의 개념 with c++  (0) 2022.01.02
[알고리즘] 선택 정렬(Selection Sort) 의 개념 with c++  (0) 2021.12.30
    'IT_study/알고리즘' 카테고리의 다른 글
    • [Algorithm] DP(Dynamic Programming) 동적계획법
    • [알고리즘] 병합정렬(Merge Sort)의 개념 with c++
    • [알고리즘] 삽입 정렬(Insertion sort) 의 개념 with c++
    • [알고리즘] 선택 정렬(Selection Sort) 의 개념 with c++
    meong_j
    meong_j
    #it #개발일기 #개발공부 #개발자 #백앤드 #생각정리 #시간은 실력에 비례한다 #뭐든지 꾸준히 열심히 #오늘의 내가 내일의 나를 만든다

    티스토리툴바