본문 바로가기
스마트인재개발원/자바

[자바] 치환/ 버블정렬

by 죠졍니 2022. 9. 16.
728x90
반응형
SMALL

치환

package 버블정렬;

public class Ex01_1_치환 {

	public static void main(String[] args) {

		int num1=10;
		int num2=20;
		
		System.out.println(num1+" , "+num2);
		
		//치환
		int temp = num1;
		num1=num2;
		num2=temp;
		
		
		System.out.println(num1+" , "+num2);
		
	}

}

 

 

 

 

 

 


 

정렬 알고리즘

: 원소들을 일정한 순서대로 열거하는 알고리즘

 

 

 

 


버블정렬

- 두 인접한 원소를 비교하여 정렬하는 방법

- 속도는 느리지만 코드가 단순하다

제일 큰 수가 가장 오른쪽으로 제일 먼저 정렬됨 :step

 

 

 

 

 

 

 


 

 

버블하는 과정 나열

package 버블정렬;

import java.util.Arrays;

public class Ex01_버블정렬1 {

	public static void main(String[] args) {

		int[] array = {82,45,25,12,7};
		
		//0번째1번째비교 12 23 34		
		for(int i=0;i<array.length-1;i++) { //0,1,2,3까지만 반복해야함
			if(array[i]>array[i+1]) {
				int temp=array[i];
				array[i]=array[i+1];
				array[i+1]=temp;
			}
		} //1step
		System.out.println(Arrays.toString(array)); //배열 나열하는 단축어

		
		//01 12 23		
		for(int i=0;i<array.length-2;i++) {
			if(array[i]>array[i+1]) {
				int temp=array[i];
				array[i]=array[i+1];
				array[i+1]=temp;
			}
		}
		System.out.println(Arrays.toString(array));
		
		//01 12
		for(int i=0;i<array.length-3;i++) {
			if(array[i]>array[i+1]) {
				int temp=array[i];
				array[i]=array[i+1];
				array[i+1]=temp;
			}
		}
		System.out.println(Arrays.toString(array));
		
		
		//01
		for(int i=0;i<array.length-4;i++) {
			if(array[i]>array[i+1]) {
				int temp=array[i];
				array[i]=array[i+1];
				array[i+1]=temp;
			}
		}
		System.out.println(Arrays.toString(array));
		
		
		

	}

}

 

 

 

 


버블정렬 2가지 방법

package 버블정렬;

import java.util.Arrays;

public class Ex01_버블정렬1 {

	public static void main(String[] args) {

		int[] array = {82,45,25,12,7};
		
		
		for(int i=0;i<array.length-i;i++) {
			if(array[i]>array[i+1]) {
				int temp=array[i];
				array[i]=array[i+1];
				array[i+1]=temp;
			}
		}
		System.out.println(Arrays.toString(array));
		
		
		
//-----------------------------------------------------------------
		
		
		
		// 코드2
		for(int k=1;k<array.length;k++) {
			for(int i=0;i<array.length-k;i++) {
				if(array[i]>array[i+1]) {
					int temp=array[i];
					array[i]=array[i+1];
					array[i+1]=temp;
				}
			}

		}
		System.out.println(Arrays.toString(array));

		

	}

}

 

 

 

 

 

 

 

728x90
반응형
LIST