버플 정렬을 구상할떄 해야할것은
옆에 있는 숫자와 비교해서 작은 것을 앞으로 보낸다라는 생각으로 짜야합니다.
첫번쨰 부터 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]);}}javapublic 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]);}}}