이책에보면.. 스택 링크드 리스트를
List 노드(맨 아래 노드(맨처음에 드러간노드))를 current 로해서 루프를 돌려 top노드 까지 가게 해놨더라구요
그래서 차곡 차곡 쌓고 지우고 하던데..
근데 실제 상황에서.. 뭐 스택방식으로 자료를 존나게 미치도록 염병하도록 많이 쌓는다면.. 루프를 그만큼 쌓을때마다 돌려야되니
시간이 걸릴꺼잖아요( 이럴 경우는 드문듯하지만 그래도..)

책에는
List-> Node-> Node->  Node-> Node-> Top

이렇게 짜여져있는데

저는 그냥 이렇게 생각이 들어서 이렇게 짜봣습니다.
List <-Node <-Node <-Node <-Node <-Top

이렇게짯죠.. Push도 잘되고 Pop 도 잘됩니다.

void LLS_Push(LinkedListStack* Stack, Node* NewNode){

 if(Stack->List == NULL){
  Stack->List = NewNode;
 }
 else{
  NewNode->NextNode = Stack->Top;
 }
 Stack->Top = NewNode;
}

Node* LLS_Pop(LinkedListStack* Stack){
 Node* DeleteNode;
 if(Stack->Top == NULL){
  return Stack->List;
 }
 DeleteNode = Stack->Top;
 Stack->Top = Stack->Top->NextNode;
 
 return DeleteNode;
}


그냥 저의 개 허접한 생각에는 루프를 돌릴 필요가 없을꺼같은데 왜 루프를 돌려서 만들어놨을까요? 그냥 너무 궁금합니다. 그럴필요없는데
스택이니까.. 중간에 자료를 넣을필요도 없을꺼고.. 중간에 자료를 넣는다면 루프를 돌려야겟지만.. 그건 스택이 아니잖아요..아닌경우도잇나요..? ㅋㅋ
아니면 이런걸 궁금해하고 물어보는 제가 돌아이 인가요 병신짓인가요..ㅠ?