linked list
- 사용 이유:
- 배열에서 인덱스 추가, 삭제 불편
- 구성
- node(원소): 본인의 클래스를 가리킬 수 있는 오브젝트
- 각 node는 link로 연결(link는 다음 node를 가리킴)
- 각 node는 필요한 시점에 dynamic하게 생성 --> 함수에서 새로운 node를 생성할 때 node *p로 생성하고 new 할당을 해줌!
- 구현
- list node
- head, tail
- data node
- data
- link --> 데이터 뿐만 아니라 링크도 노드에 있음
- head, tail은 원소가 새로 생기거나 없어지는 경우 신경써주기!
- 중요 표현
- for(t=head; t!=NULL; t=t->link) --> 링크드 리스트의 모든 원소를 travelse 하는 경우 사용하는 표현
스택(linked list)
- Top에서 push와 pop연산 실행
큐(linked list)
- front --> 삭제
- rear에서 삭제를 하게되면, 이 전의 노드에 대한 정보가 있어야 함 but front는 노드를 삭제해도 head의 포인터만 수정해주면 됨
- rear --> 추가