[기본원리] 리스트를 이용한 데이터의 추가/삭제

반응형





읽기전에 손가락 한번 클릭~ >_<

고마워요 ~ Chu ~ ♥


배열이나 스택, 큐를 이용하면 데이터를 순서에 맞게 처리해야 됩니다.
리스트를 활용하면 인덱스의 순서와 관계없이 배열 요소에 데이터를 추가/삭제 할 수 있고, 유용하지요.

리스트



리스트는 각각의 배열 요소에 데이터 뿐만 아니라 다음 요소의 인덱스를 추가해서 만들어 집니다.
이것은 데이터값과 다음 요소 인덱스를 조합한 것으로서 전체를 하나의 요소로 취급하지요.
리스트에 끝은 연결요소가 더 이상 없기 때문에 인덱스 값으로 존재할 수 없는 숫자 ( -1 등 ) 을 넣어주게 됩니다.


리스트에서의 데이터 삭제

배열은 요소를 취급하려면 인덱스를 차례대로 세어가면서 참조해야 되는데요,
하지만 리스트는 한 개의 요소에 대한 참조가 있으면 그 요소를 찾은 뒤에, 다음 요소의 인덱스를 기준으로 다음요소를 찾아 냅니다.


두번째 요소의 다음요소 번호가 2에서 3으로 바뀌었습니다.
결과적으로 세번째 요소를 삭제한 효과를 내게 되지요.


리스트에서의 데이터 추가

데이터의 추가는 새로운 데이터를 저장하고 인덱스 정보를 바꾸면 끝!


추가된 요소는 겉으로 보기에는 다섯번째에 있는것 처럼 보이지만, 실제로는 네번째 요소가 됩니다.

일반적인 배열은 중간에 위치한 요소를 삭제하거나 추가하려면 ,
뒤에있는 요소를 모두 이동시켜야 하는데요,
만일 작은 데이터가 아니라 수백, 수천개의 요소의 배열을 통해 데이터를 추가하거나 삭제하려면 그 뒤의 요소를 모두 이동해야 되기 때문에 프로그램의 실행속도가 느려지겠죠

따라서 리스트를 사용하면 데이터의 추가/삭제가 편리하게 되므로 결국 프로그램의 실행 속도가 빨리지게 됩니다.



< 일반적인 배열에서의 요소 삭제 >


< 일반적인 배열에서의 요소 추가 >




반응형

댓글

Designed by JB FACTORY