데이터를 순서대로 나열하기 위한 절차적인 과정
정렬 알고리즘 진행 코드
public static void main(String[] args) {
int ar[]= {8,1,2,5,4,3,6,7};
int min, tmp;
System.out.println("--------정렬 전--------");
for(int i=0;i<ar.length;i++) {
System.out.print(ar[i]+ " ");
}
for(int i = 0;i<ar.length-1;i++) {
min=i;
for(int j=i+1;j<ar.length;j++) {
if(ar[min]>ar[j]) {
tmp=ar[min];
ar[min]=ar[j];
ar[j]=tmp;
System.out.println();
System.out.println("swap 후!");
for(int k =0;k<ar.length;k++) {
System.out.print((ar[k]+" "));
}
}
}
}
System.out.println();
System.out.println("--------정렬 후--------");
for(int i =0;i<ar.length;i++) {
System.out.print((ar[i]+" "));
}
}
}
## 출력값
--------정렬 전--------
8 1 2 5 4 3 6 7
swap 후!
1 8 2 5 4 3 6 7
swap 후!
1 2 8 5 4 3 6 7
swap 후!
1 2 5 8 4 3 6 7
swap 후!
1 2 4 8 5 3 6 7
swap 후!
1 2 3 8 5 4 6 7
swap 후!
1 2 3 5 8 4 6 7
swap 후!
1 2 3 4 8 5 6 7
swap 후!
1 2 3 4 5 8 6 7
swap 후!
1 2 3 4 5 6 8 7
swap 후!
1 2 3 4 5 6 7 8
--------정렬 후--------
1 2 3 4 5 6 7 8
public static void main(String[] args) {
int ar[]= {8,1,2,5,4,3,6,7};
int idx, tmp;
System.out.println("------정렬전-------");
for(int i=0;i<ar.length;i++) {
System.out.print(ar[i]+" ");
}
System.out.println();
for(int i=1;i<ar.length;i++) {
idx=i;
for(int j=i-1;j>=0;j--) {
if(ar[j]>ar[idx]) {
tmp=ar[j];
ar[j]=ar[idx];
ar[idx]=tmp;
idx=j;
for(int k=0;k<ar.length;k++) {
System.out.print(ar[k]+" ");
}
System.out.println();
}
else {
break;
}
}
}
System.out.println("------정렬 후------");
for(int i=0;i<ar.length;i++) {
System.out.print(ar[i]+ " ");
}
}
}
## 출력값
------정렬전-------
8 1 2 5 4 3 6 7
1 8 2 5 4 3 6 7
1 2 8 5 4 3 6 7
1 2 5 8 4 3 6 7
1 2 5 4 8 3 6 7
1 2 4 5 8 3 6 7
1 2 4 5 3 8 6 7
1 2 4 3 5 8 6 7
1 2 3 4 5 8 6 7
1 2 3 4 5 6 8 7
1 2 3 4 5 6 7 8
------정렬 후------
1 2 3 4 5 6 7 8
public static void main(String[] args) {
int ar[]= {6,4,7,9,1};
int tmp;
System.out.println("------정렬 전-------");
for(int i=0;i<ar.length;i++) {
System.out.print(ar[i]+" ");
}
System.out.println();
for(int i=ar.length-1;i>=0;i--) {
for(int j=0;j<i;j++) {
if(ar[j]>ar[j+1]) {
tmp=ar[j];
ar[j]=ar[j+1];
ar[j+1]=tmp;
for(int k=0;k<ar.length;k++) {
System.out.print(ar[k]+" ");
}
System.out.println();
}
}
}
System.out.println("-----정렬 후-----");
for(int i=0;i<ar.length;i++) {
System.out.print(ar[i]+" ");
}
System.out.println();
}
}
## 출력 값
------정렬 전-------
6 4 7 9 1
4 6 7 9 1
4 6 7 1 9
4 6 1 7 9
4 1 6 7 9
1 4 6 7 9
-----정렬 후-----
1 4 6 7 9