순차정렬
정렬알고리즘에서 가장 간단하고 기본이 되는 알고리즘으로
배열의 처음과 끝을 탐색하면서 차순대로 정렬하는 가장 기초적인 정렬 알고리즘이다.
public class Application2 {
public static void main(String[] args) {
int[] iarr = {2, 5, 4, 6, 1, 3};
for(int i = 1; i < iarr.length; i++){
for(int j = 0; j < i; j++) {
// 오름차순 5 < 2
// 내림차순은 부등호만 반대로 처리하면
if(iarr[i] < iarr[j]) {
int temp;
temp = iarr[i];
iarr[i] = iarr[j];
iarr[j] = temp;
}
}
}
for (int i = 0; i< iarr.length; i++) {
System.out.print(iarr[i] + " ");
}
}
}
1회차 : iarr[1] : 5 < iarr[0] : 2
2회차(i = 2) (0< 2) :
: iarr[2] : 4 < iarr[0] : 2
: iarr[2] : 4 < iarr[1] : 5
{2, 4, 5, 6, 1, 3}
3회차(i =3) : iarr[3] : 6 < iarr[0] : 2
iarr[3] : 6 < iarr[1] : 4
iarr[3] : 6 < iarr[2] : 5
{2, 4, 5, 6, 1, 3}
4회차(i = 4) : iarr[4] : 1 < iarr[0] : 2
{1, 4, 5, 6, 2, 3}
iarr[4] : 2 < iarr[1] : 4
{1, 2, 5, 6, 4, 3}
iarr[4] : 4 < iarr[2] : 5
{1, 2, 4, 6, 5, 3}
iarr[4] : 5 < iarr[3] : 6
{1, 2, 4, 5, 6, 3}
5회차(i = 5)
iarr[5] : 3 < iarr[0] : 1
iarr[5] : 3 < iarr[1] : 2
iarr[5] : 3 < iarr[2] : 4
{1, 2, 3, 5, 6, 4}
iarr[5] : 4 < iarr[3] : 5
{1, 2, 3, 4, 6, 5}
iarr[5]: 5 < iarr[4] : 6
{1, 2, 3, 4, 5, 6}
//결과값
1 2 3 4 5 6
if(iarr[i] > iarr[j]) // 의 부등호만 바꿔주면 반대로 정렬이 된다
6 5 4 3 2 1
'JAVA > 알고리즘' 카테고리의 다른 글
[JAVA] 선택정렬 (0) | 2024.03.18 |
---|
순차정렬
정렬알고리즘에서 가장 간단하고 기본이 되는 알고리즘으로
배열의 처음과 끝을 탐색하면서 차순대로 정렬하는 가장 기초적인 정렬 알고리즘이다.
public class Application2 {
public static void main(String[] args) {
int[] iarr = {2, 5, 4, 6, 1, 3};
for(int i = 1; i < iarr.length; i++){
for(int j = 0; j < i; j++) {
// 오름차순 5 < 2
// 내림차순은 부등호만 반대로 처리하면
if(iarr[i] < iarr[j]) {
int temp;
temp = iarr[i];
iarr[i] = iarr[j];
iarr[j] = temp;
}
}
}
for (int i = 0; i< iarr.length; i++) {
System.out.print(iarr[i] + " ");
}
}
}
1회차 : iarr[1] : 5 < iarr[0] : 2
2회차(i = 2) (0< 2) :
: iarr[2] : 4 < iarr[0] : 2
: iarr[2] : 4 < iarr[1] : 5
{2, 4, 5, 6, 1, 3}
3회차(i =3) : iarr[3] : 6 < iarr[0] : 2
iarr[3] : 6 < iarr[1] : 4
iarr[3] : 6 < iarr[2] : 5
{2, 4, 5, 6, 1, 3}
4회차(i = 4) : iarr[4] : 1 < iarr[0] : 2
{1, 4, 5, 6, 2, 3}
iarr[4] : 2 < iarr[1] : 4
{1, 2, 5, 6, 4, 3}
iarr[4] : 4 < iarr[2] : 5
{1, 2, 4, 6, 5, 3}
iarr[4] : 5 < iarr[3] : 6
{1, 2, 4, 5, 6, 3}
5회차(i = 5)
iarr[5] : 3 < iarr[0] : 1
iarr[5] : 3 < iarr[1] : 2
iarr[5] : 3 < iarr[2] : 4
{1, 2, 3, 5, 6, 4}
iarr[5] : 4 < iarr[3] : 5
{1, 2, 3, 4, 6, 5}
iarr[5]: 5 < iarr[4] : 6
{1, 2, 3, 4, 5, 6}
//결과값
1 2 3 4 5 6
if(iarr[i] > iarr[j]) // 의 부등호만 바꿔주면 반대로 정렬이 된다
6 5 4 3 2 1
'JAVA > 알고리즘' 카테고리의 다른 글
[JAVA] 선택정렬 (0) | 2024.03.18 |
---|