[211201] 교육 31일차

oxllz·2022년 2월 10일
0

교육

목록 보기
23/41

그래프

지점과 지점이 얽혀 있는 문제를 풀어내는 자료구조

  • 배열을 이용하여 구현하는 방법
  • List 를 이용하여 구현하는 방법

이차원 배열

public class Test263 {
	public static void main( String[] args ) {
		int[][] map = 
			{
				{ 0, 1, 0, 1 },		//	0의 입장
				{ 1, 0, 0, 0 },		//	1의 입장
				{ 0, 0, 0, 1 },		//	2의 입장
				{ 1, 0, 1, 0 }		//	3의 입장	
			};
		// 위와 동일한 코드
		int[][] map2 = new int[4][4];
        map2[0][1] = map2[1][0] = 1; // 0과 1 연결
		map2[0][3] = map2[3][0] = 1; // 0과 3 연결
		map2[2][3] = map2[3][2] = 1; // 2와 3 연결
		//
		for( int i = 0 ; i < map2.length ; i++ ) 
		{	// map2.length : 행의 길이
			StringBuffer sb = null;
            // map2[i].length : i 번째 행의 열 길이
			for( int j = 0 ; j < map2[i].length ; j++ ) 
			{
				sb = ( sb == null ? new StringBuffer() : sb.append(' ') );
				sb.append( map2[i][j] );
			}	
			System.out.println( sb.toString() );			
		}
	}
}

spot : 지점

  • 4개의 spot 의 관계를 표현하기 위해서 4*4 크기의 배열을 필요로 한다.
  • int 4개를 요소로 가진 배열을 4개 가지고 있는 배열

public class Test264 {
	public static void main( String[] args ) {
		int[][] map = new int[4][];
		map[0] = new int[]{ 1, 2 };
		map[1] = new int[]{ 3, 4, 5 };
		map[2] = new int[2];
		map[3] = new int[]{ 6 };
		//
		for( int i = 0 ; i < map.length ; i++ ) {
			for( int j = 0 ; j < map[i].length ; j++ ) {
				System.out.print( map[i][j] + " ");
			}
			System.out.println();
		}
        // 배열 생성 방식
        int[] t = null;
		int[] r = new int[4];
		int[] p = {1,2,3};
	}
}


java의 배열은 참조형 변수, 즉 포인터 역할을 한다.( null 값 대입 가능 )

0개의 댓글