Algorithm/자료구조

    3. 연결리스트

    개요 장점 논리적인 순서와 물리적인 순서가 일치하지 않아도 됨 크기를 유연하게 변경 가능 메모리를 좀 더 효율적으로 사용 가능 용어 노드들의 연결된 집합으로 표현 노드 : 단위로 구성 데이터 필드 : 원소 링크필드 : 주소 노드가 하나도 없는 공백 연결 리스트는 포인터 변수에 NULL 저장 삽입연산 삽입할 노드를 준비한다. 새 노드의 데이터 필드에 값을 저장한다. 새 노드의 링크값을 지정한다. 리스트의 앞 노드에 새 노드를 연결한다. 0. 연결리스트 구조체 생성 // 정수형 data를 갖는 노드 구조체 생성 typedef struct LinkedList{ int data; struct LinkedList * link; }LinkedList;1. 리스트 처음 노드로 삽입하는 알고리즘 // 리스트 처음 노드..

    1. 배열

    배열 정의 같은 자료를 나열하여 메모리에 연속으로 저장하여 만든 자료그룹 쉽게 말해서 정수형 변수를 여러개 생성해야 한다고 하자. 기본적으로는 int a1, a2, a3... 식으로 선언을 하겠지만, 배열을 이용해서 선언을 하면 간편하게 생성을 할 수 있다. 선언 자료형태 배열 명 [배열크기] 로 선언 // 크기가 int형(4byte)*10인 int형 배열 i_array 선언 int i_array[10]; 초기화 선언과 동시에 초기값 설정 가능 int A[5] = {1, 2, 3, 4, 5}; int A[] = {1, 2, 3, 4, 5}; 아래와 같이 크기보다 작은 값을 선언 시, int A[5] = {1, 2, 3}; A[3], A[4] 는 0값을 가진다. 아래 처럼 개별 초기화도 가능하다. 하지만 ..