티스토리 뷰

Programming?/JAVA

선택정렬

Erlka 2012. 7. 5. 23:58

import java.util.Scanner;

public class testcoding {

public static void main(String[] args) {

// *** 오름차순 ***

int[] num=new int[5]; // 정수형 배열 5개 생성

Scanner scan=new Scanner(System.in); // 입력 받을수 있게 scanner 변수 생성

for(int i=0;i<5;i++) 

{

num[i]=scan.nextInt(); // 루프 돌리며 입력받음

}

System.out.print("정렬전 : \n"); 

for(int i=0;i<5;i++)

{

System.out.print(num[i]+"\t"); // 루프돌리면서 정렬전 출력

}

System.out.println("\n정렬후:");

          // 선택정렬 루프 시작

for(int i=0;i<num.length-1;i++)  //length-1을 해야 j가 맨 끝까지 다 돔

{

for(int j=i+1;j<num.length;j++)

{

if(num[i]>num[j]) // i가 j보다 크면

{

int temp=num[j]; // temp에 일단 j를 넣고

num[j]=num[i]; // j에는i를 넣고

num[i]=temp; //i에는 temp를 넣는다. 결론적으로 i와 j의 값을 바꿈

}

}

}

for(int i=0;i<5;i++)

{

System.out.print(num[i]+"\t"); // 바뀐값 출력

}


   // 내림차순의 경우 오름차순에서 부등호만 바꿔주면 되므로 주석은 생략함.



// *** 내림차순 ***

int[] num=new int[5];

Scanner scan=new Scanner(System.in);

for(int i=0;i<5;i++)

{

num[i]=scan.nextInt();

}

System.out.println("정렬전 : ");

for(int i=0;i<5;i++)

{

System.out.print(num[i]+"\t");

}

System.out.println("\n정렬후:");

for(int i=0;i<num.length-1;i++)

{

for(int j=i+1;j<num.length;j++)

{

if(num[i]<num[j])

{

int temp=num[j];

num[j]=num[i];

num[i]=temp;

}

}

}

for(int i=0;i<5;i++)

{

System.out.print(num[i]+"\t");

}

}


}





실행시키면 아무런 메세지가 안뜨는데 숫자입력하면 알아서 정렬전, 정렬후를 표시해줌.



'Programming? > JAVA' 카테고리의 다른 글

2차원 배열을 이용한 다이아몬드  (0) 2012.07.07
버블정렬  (0) 2012.07.06
배열을 이용한 이진수 변환  (0) 2012.07.03
숫자야구게임  (0) 2012.07.03
중복 되지 않는 난수 소스  (0) 2012.07.03
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함