리스트 (컴퓨팅): 두 판 사이의 차이

내용 삭제됨 내용 추가됨
배열 문서로 넘겨주기
태그: 새 넘겨주기 되돌려진 기여
LR0725 (토론 | 기여)
Xnou(토론)의 편집 1개를 되돌림 (TW)
태그: 넘겨주기 제거 편집 취소 동음이의 링크
1번째 줄:
{{위키데이터 속성 추적}}
#넘겨주기 [[배열]]
[[파일:Singly-linked-list.svg|섬네일|오른쪽|세 개의 정수를 저장하고 있는 단순 연결 리스트]]
'''리스트'''(list)는 [[컴퓨터 과학]]에서 같은 값이 한 번 이상 존재할 수 있는 일련의 [[값 (컴퓨터 과학)|값]]이 모여있는 [[추상적 자료형]]이다. '''시퀀스'''(sequence)라고도 부른다. 리스트의 인스턴스는 무한 시퀀스의 수학 개념을 컴퓨터 상에 표현한 것이며 잠재적으로 무한인 리스트는 [[스트림 (컴퓨팅)|스트림]]과 동격이다.<ref>{{서적 인용|title=[[Structure and Interpretation of Computer Programs]] |first1=Harold |last1=Abelson |first2=Gerald Jay |last2=Sussman |year=1996 |publisher=MIT Press}}</ref>{{rp|§3.5}} 리스트는 다른 값들을 포함할 수 있기 때문에 [[컨테이너 (추상 자료형)|컨테이너]]의 기초적인 한 예로 간주된다. 같은 값이 여러 번 발생하면 각각의 발생한 건들은 별개의 항목으로 취급한다.
 
'''리스트'''라는 이름은 특히 [[링크드 리스트]]처럼 추상 리스트를 구현하는데 사용할 수 있는 여러 [[자료 구조]]에 사용된다.
 
수많은 [[프로그래밍 언어]]들은 리스트 자료형을 지원하며 리스트와 리스트 조작을 위한 특수한 문법과 시맨틱을 갖추고 있다. 리스트는 괄호 '()', '[]', 또는 '<>'와 같은 구분자 쌍 안에 쉼표, 세미콜론, 공백으로 구분하여 시퀀스 내에 항목을 쓰게 함으로써 구성되는 것이 일반적이다. 일부 언어들은 [[배열 자료형]]처럼 리스트 타입의 색인 및 슬라이싱을 가능케 하며, 여기서 자료형은 '배열'이라는 이름으로 더 정확히 기술된다. [[객체 지향 프로그래밍 언어]]에서 리스트는 제네릭 "리스트" 클래스의 서브클래스의 인스턴스로 제공되는 것이 보통이며 별도의 [[반복자]]를 통해 경유된다. 리스트 자료형은 [[배열]] 자료 구조나 특정한 유형의 링크드 리스트를 사용하여 구현되기도 하지만 일부 목적에는 다른 자료 구조를 사용하는 것이 더 적절할 수도 있다. [[리스프]] 프로그래밍과 같은 같은 일부 문맥에서 리스트라는 용어는 배열이 아닌 링크드 리스트를 의미할 수 있다.
 
== 같이 보기 ==
#넘겨주기* [[배열]]
* [[연결 리스트]]
* [[큐 (자료 구조)]]
 
== 각주 ==
{{각주}}
 
{{자료 구조}}
{{자료형}}
{{전거 통제}}
{{토막글|컴퓨터 과학}}
 
[[분류:자료형]]
[[분류:복합 자료형]]
[[분류:추상 자료형]]