ComputerScience/Algorithms & Data Structures
C++, 더블링크드리스트에 대한 고찰
Moai27
2018. 7. 22. 06:50
요즘 코딩 하기를 너무 미루게된다...
별거아닌것부터 하기 싫어하는게 7월 초랑 너무 계획이 틀어지고 있는 것 같기도...
더블링크드리스트를 만들어보면서 느꼈던점...
왜 대부분 더블링크드리스트의 정렬을 할때,
선을 이어주는걸 바꿔주는지를 잘 모르겠다.
두 노드를 바꾸려고 할때,
두 노드의 앞 뒤 노드를 저장하여,
서로 선을 바꿔주는 식인데,
이렇게 하면 두 노드의 스왑이 너무 복잡해진다.
바로 붙어있는경우는 6개의 줄을 새로이 이어주어야하고,
떨어져있는 경우는 8개의줄을 이어주어야하기 때문이다.. ㄷㄷ;;
따라서, 노드안에있는 데이터만을
바꿔주는게 더욱 이해하기 쉬운 코드이며,
효율적인것에서도 더욱 뛰어날거로 예상된다.
(물론 데이터가 어마무시하게 크면 안되겠지만..)
잘 모르겠으면 그림판부터 켜서 그려보자 !
아직 제네릭링크드리스트까진 하진않았지만,
그전에 몇 번더 구현해보는게 좋을 것 같다.
생각보다 게을러서 금방 할 수 있는일을 미루다보면,
지식이 얕게 쌓이게되는것 같다.
반성하고 반성해야할 7월말이다.