Algorithm/자료구조
3. 연결리스트
개요 장점 논리적인 순서와 물리적인 순서가 일치하지 않아도 됨 크기를 유연하게 변경 가능 메모리를 좀 더 효율적으로 사용 가능 용어 노드들의 연결된 집합으로 표현 노드 : 단위로 구성 데이터 필드 : 원소 링크필드 : 주소 노드가 하나도 없는 공백 연결 리스트는 포인터 변수에 NULL 저장 삽입연산 삽입할 노드를 준비한다. 새 노드의 데이터 필드에 값을 저장한다. 새 노드의 링크값을 지정한다. 리스트의 앞 노드에 새 노드를 연결한다. 0. 연결리스트 구조체 생성 // 정수형 data를 갖는 노드 구조체 생성 typedef struct LinkedList{ int data; struct LinkedList * link; }LinkedList;1. 리스트 처음 노드로 삽입하는 알고리즘 // 리스트 처음 노드..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FlsH1w%2Fbtq1MqpM2k8%2FBtEiIKhxfK0iwvWIU29So1%2Fimg.png)
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값을 가진다. 아래 처럼 개별 초기화도 가능하다. 하지만 ..