본문 바로가기

카테고리 없음

알고리즘 기초 2. 버블정렬

버플 정렬을 구상할떄 해야할것은

옆에 있는 숫자와 비교해서 작은 것을 앞으로 보낸다라는 생각으로 짜야합니다.

첫번쨰 부터 1과3 비교 3과 5비교 5과 7 비교해서 왼쪽수가 오른쪽수보다 크면 자리를 바꾼다.

예시)

1

3

5

7

9

2

4

6

8

10


1

3

5

7

2

9

4

6

8

10


1

3

5

7

2

4

9

6

8

10


1

3

5

7

9

2

6

9

8

10


1

3

5

7

2

9

6

8

9

10

 

지속적으로 계속 반복한다.


c언어

#include <stdio.h>
int main(void){
//버블 정렬
// 옆에 있는 값과 비교해서 작은 값을 앞으로 이동
int i,j, temp;
int arr[10] ={1,3,5,7,8,9,2,4,6,10};
//버플 정렬의 측징은 가장 큰값이 한번 정렬시 한개의 값이 정확히정렬이 된다.
for(int i=0;i<10;i++){
for(j=0;j<9-i;j++){
if(arr[j]>arr[j+1]){
temp= arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int i=0;i<10;i++){
printf("%d ",arr[i]);
}
}



java


public class BubbleSort {
public static void main(String[] args) {
int temp;
int arr[] = {10,9,8,7,6,5,4,3,2,1};
for(int i=0;i<10;i++) {
for(int j=0;j<9-i;j++) {
if(arr[j]>arr[j+1]) {
temp=arr[j];
arr[j]=arr[j+1];
arr[j+1]=temp;
}
}
}
for(int z=0;z<10;z++) {
System.out.println(arr[z]);
}
}
}