단일연결 리스트 자체가 스택이다
단 끝노드에서 끝방향 쪽으로 노드를 추가해가며 스택을 만들면 효율이 떨어진다
단일 연결리스트로 구성된 스택은
단인 열결 리스트의 초기 구성이
{헤드노드} ~ {꼬리노드}
로 구성되어 있음으로
노드 추가 함수인 AddNode() 을 헤드 노드에서 호출 하게 된다
즉
{헤드노드}.AddNode( pNode );
원소 추가(Push)
이것을 스택으로 사용 할려면
list_instance.AddHead( pNode );
로 써 입력해주면 된다, 즉 헤드 노드 다음에 새로운 노드를 계속 추가 하는 것
GetVal() , 그렇다면 값을 가져오기 위해선?
list_instance.GetHeadVal() 은 헤드노드가 가르키고 있는 다음 노드의 값을 가져 오면 되고
만약 다음 노드가 꼬리 노드인 경우 에러처리 또는 예외 처리 하면 된다
제거(POP) 은 헤더노드 다음 노드를 제거 하면 된다
반응형
'알고리즘 & 자료구조 > 알고리즘&자료구조' 카테고리의 다른 글
중위표현식을 후위로 변환 (0) | 2012.10.31 |
---|---|
큐(Queue) & 환원큐 Circular Queue (0) | 2012.10.31 |
스택 , 배열과 리스트 자료구조의 차이 (0) | 2012.10.31 |
이중리스트의 사용, 마지막 노드의 순환 (0) | 2012.10.31 |
이중 링크드 리스트 [doubly linked list] (0) | 2012.10.31 |