JAVA 응용문제 이중배열 정렬
2022. 11. 22. 09:03ㆍJAVA
public class MyTest02 {
public static void main(String[] args) {
int i,j,k,l;
int score[][] = new int[10][10];
int n,n2;
int tmp;
int count = 1;
int index = 0;
int index2 = 0;
for(i = 0; i < score.length;i++)
{
for(j = 0; j < score[i].length;j++)
{
score[i][j] = count;
count++;
}
}
for(i = 0; i < score.length;i++)
{
for(j = 0; j< score[i].length;j++)
{
System.out.printf("%3d ",score[i][j]);
}
System.out.println();
}
System.out.println();
System.out.println("▼▼▼▼▼▼섞는중▼▼▼▼▼▼");
System.out.println();
for(i = 0; i < 10000; i++)
{
n = (int)(Math.random()*score.length);
for(j = 0; j < 10000; j++)
{
n2 = (int)(Math.random()*score[n].length);
tmp = score[n][n2];
score[n][n2] = score[0][0];
score[0][0] = tmp;
}
}
for(i = 0; i < score.length;i++)
{
for(j = 0; j< score[i].length;j++)
{
System.out.printf("%3d ",score[i][j]);
}
System.out.println();
}
System.out.println();
System.out.println("▼▼▼▼▼▼정렬중▼▼▼▼▼▼");
System.out.println();
for(l = 0; l <score.length ; l++)
{
for(k = 0; k < score[l].length; k++)
{
index = l;
index2 = k;
for( i = l; i < score.length ; i++)
{
for( j = (i==l) ? k : 0 ; j < score[l].length;j++)
{
if(score[index][index2] < score[i][j])
{
index = i;
index2 = j;
}
}
}
tmp = score[l][k];
score[l][k] = score[index][index2];
score[index][index2] = tmp;
}
}
for(i = 0; i < score.length;i++)
{
for(j = 0; j< score[i].length;j++)
{
System.out.printf("%3d ",score[i][j]);
}
System.out.println();
}
}
}
출력


배열의 크기는 임의로 설정 가능
'JAVA' 카테고리의 다른 글
| 2022.11.17 JAVA 16일차 생성자2, 상속 (0) | 2022.11.22 |
|---|---|
| 2022.11.16 JAVA 15일차 생성자 (0) | 2022.11.22 |
| 2022.11.15 JAVA 14일차 오버로딩 (0) | 2022.11.22 |
| 2022.11.14 JAVA 13일차 객체지향언어 (0) | 2022.11.22 |
| 2022.11.11 JAVA 12일차 클래스와 객체 (0) | 2022.11.21 |