연결 리스트에는 단순 연결 리스트, 원형 연결 리스트, 이중 연결 리스트, 이중 원형 연결 리스트가 있다. 단순 연결 리스트는 단순히 연결만 되어있는 연결 리스트이다. 그럼 단순 연결 리스트를 구현해보겠다. 12345struct ListNode { int data; struct ListNode *link; };cs 이 부분은 노드와 노드의 데이터 필드와 링크 필드를 선언 해주는 부분이다. 12345struct ListNode *p1; p1 = (struct ListNode*)malloc(sizeof(struct ListNode)); p1->data = 10; p1->link = NULL; Colored by Color Scriptercs 이 부분은 p1이라는 노드를 만들고, p1에 메모리를 동적할당 한다..
연결 리스트(linked list)란? 말 그대로 연결된 리스트. 연결리스트를 사용하는 이유는 선형리스트와는 달리 원소의 삽입,삭제 연산을 할때 원소의 주소에 의해 순서가 연결되는 방식이기 때문에 오버헤드가 발생하지 않는다는 장점이 있고, 원소들 각각을 연결하여 전체를 이루기 때문에 크기변경에 용이하고 메모리 관리를 좀 더 효율적으로 할 수 있다는 장점이 있기 때문이다. 연결리스트는 노드들로 연결 되어 있다. 노드는 값을 저장하는 데이터 필드(Data field)와 다음 노드의 주소를 가지고 있는 링크 필드(Link field)로 구성되어 있다. 노드는 필요할 때마다 동적 메모리 생성을 이용하여 생성한다.
bit란? 2진수 하나의 값을 저장할 수 있는 최소의 메모리 공간이다. bit의 갯수는 2의 n제곱개만큼 있다. 예를들면 3bit는 000,001,010,100,011,101,110,111 이렇게 2의 3제곱, 8개가 있다. byte란? ASCII문자 하나를 저장 할 수 있는 최소의 메모리 공간이다. 1byte = 8bit로 bit가 8개가 모여 1byte가 된다. bit 와 byte가 무엇인지 알아보았으니 비트 연산자에 대해 알아보겠다. 비트연산자의 종류에는 이 정도가 있다. 1. 비트단위 and 연산 이것은 a,b를 입력받아 and 연산을 해주는 프로그램이다. 입력을 6 , 4로 한다면 6 : 0000 0110 3 : 0000 0011 6&3 0000 0010 이므로 값은 2가 된다. 2. 비트단위 ..