스택을 활용한 하노이탑 문제 질문입니다. ㅠ

  • oanoelsis
    oanoelsis

    간단히 링크드리스트를 이용해서 스택을 구현하고 하노이탑을 풀어보는 문제를 풀고 있는데요 .ㅠㅠ

    링크드 리스트와 스택 모두 잘 구현 되었고 하노이탑을 푸는 알고리즘도 잘 작동합니다.

    근데 문제는 세개의 탑중 한개의 탑에서 블럭 한개를 다른 곳으로 옮기는 move()함수가 랜덤한 개수로 돌아가다가 segmentation error(core dumped) error가 나버립니다....

    운좋게 그 몇번 안되서 탑이 완성되었을때는 프로그램이 또 잘 출력 되구요. 정말 랜덤한 개수만큼 move()함수가 돌아가면 랜덤하게 에러가 납니다.

    메모리문제인 것이라 생각해서 linked list의 node 를 만들때 malloc(sizeof(node))로 메모리를 할당해주고 remove()함수에서(탑에서 블럭을 들어내는 함수) 헤드가 가리키는 링크를 다음 노드의 주소로 옮기는 방법으로 데이터를 지워내는 데요 이과정에서 free(head)를 통해서 malloc()햇던 메모리를 free()로 풀어주었습니다. 근데도 계속 저런 에러가 생겨서 어떻게 해야 하는건가요 ㅠㅠ

    사용언어는 c++입니다.


    9년 전
1개의 댓글이 있습니다.
  • Being
    Being

    http://stackoverflow.com/help/mcve 를 참조해서 다시 질문 주시면 좋을 것 같습니다.


    9년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.