최근 \"C로 배우는 쉬운 자료구조\"란 교재로 자료구조 공부를 마치고 요새 뇌자알로 알고리즘 공부를 하는데 뇌자알에서 linked stack부분에
push함수가 이해는 가는데 왜 이렇게 구현하는지 모르겠어요...
제가 자료구조를 공부할 때 책에서 push함수는
NODE* n=malloc(sizeof(NODE));
n->data=item;
n->link=top; // top=NULL;이라고 저장
top=n;
로 top이라는 하나의 포인터로 단 4줄만에 push 동작 수행할 수 있었는데
뇌자알에서의 push함수는 왜 굳이 최하위 노드(헤드 노드)를 가리키는 list와 최상위 노드(테일 노드)를 가리키는 top이라는 두개의 포인터를 이용하여
삽입하는지 잘 이해가가지 않아요... 제발 가르쳐주세요 형님들...
c 자료구조 책 존나 쉽게 설명 잘되있는데.. 뇌자알도 함 볼까
개정할 때 참고하겠습니다~