JavaPool(기초 로직연습)

배열 오름차순으로 출력(temp 활용)

Ms.Pudding 2022. 1. 8. 02:51

2,5,1,7 이 들어있는 배열 오름차순으로 순서대로 출력하기

 

오름차순 (ascend) 저 -> 고

내림차순 (desc) 고->저

arraylist를 파라메터로 담아올때 똑같이 ArrayList<Integer> a 이런식으로 담아준다.

public class MySortIntArray{
	public static void main(String[] args){
	ArrayList<Integer> digits = new ArrayList<Integer>();
	digits.add(2);
	digits.add(5);
	digits.add(1);
	digits.add(7);

	my_sort_int_array(digits);



	} //메인클라스 메소드 

	public static void my_sort_int_array(ArrayList<Integer> a){

	for(int i=0;i<a.size();i++){
		int temp = 0;// 항상 초기화 해줘야되서 for문 안에 넣음
		
               //if문에 a.get(i+1)을 만들어 놓음  만약 i가 3일 때   if문이 계속 돌아가면
              //a.get(4)도 검사해야함 . 범위 밖임 .. 따라서 i+1에서 나가게 해줌 
		if(i+1==a.size()){
			break;
		}

		if(a.get(i)>a.get(i+1)){
		temp = a.get(i);
		a.set(i,a.get(i+1))
		a.set(i+1,temp)
		
		i=-1 // i는 위로 올라가면 i++를 받기 때문에 if문을 빠져나가면 i=0부터 시작한다.
		}



	}
	
	for(int i=0;i<a.size();i++){
		System.out.print(digits.get(i)+" ");
	}
	


	}//array메소드

}