int[] arr;
arr = new int[5];
ex) int a1, a2, a3, a4, a5;
new 키워드와 함께 메모리가 할당되므로 메모리가 1000, 1004,1008,1012,1016번지 이렇게 연이어 할당된다. == 더 빠름
int arr[];
arr = new int[5];
//리터럴 방식
arr[0] = 10; //10
int b = 20;
arr[1]=b; //20
byte c = 30;
arr[2] = c; //30
//byte 타입인 c가 int 배열에 들어갈 수 있을까?
//동일 자료형의 나열 묶음이 배열이니까 안됨! 그러나, byte은 int타입보다 작으므로 자동 형변환이 가능하다.
char d = 'A';
arr[3] = d; //65
arr[4] = 12.3f; //(int보다 큰 float를 저장하ㅕ고 하면 안됨)
arr[4] = true; //boolean 타입은 절대 형변환 될 수 없다
arr[4] = "Hello"; // String이라 int 타입으로 안됨
arr[4] = "A"; //글자가 하나든 말든 ""로 묶이면 String 타입이다.
2차원 배열
int[][] arr;
arr = new int[3][2];
3차원 배열
int[][][] arr;
arr = new int[3][2][4];
각 행당 열의 크기
1행에 1열, 2행에 2열, 3행에 3열...
1행에 1씩 넣어서 열크기만큼 반복.
1로만 찍히는게 아니라 1씩 증가시키고 싶으면, 위에 처럼 하면된다.
serrrrr 님 코드
int[][] arr5 = new int[3][3];
num = 1;
for(int col= 0; col<= arr5.length-1; col++) {
for(int row=0; row <= arr5.length-1; row++) {
arr5[arr5.length-1-row][col] = num++;
}
}
for(int row=0; row <= arr5.length-1 ; row++) {
for(int col=0; col <= arr5.length-1; col++) {
System.out.print(arr5[row][col]);
}
System.out.println();
}
최상의 데이터건 최악의 데이터건,
버블/셀렉션 소트는 시간복잡도가 늘 똑같다. = 반복횟수는 똑같다
int[] numArr =
{5,4,3,2,1}; //worst
{1,2,3,4,5}; //best
{10,3,5,2,6};
//시간 복잡도 다 똑같다~~