배열: 두 판 사이의 차이

891 바이트 추가됨 ,  5년 전
잔글
깨진 각주 수정
편집 요약 없음
잔글 (깨진 각주 수정)
최초의 디지털 컴퓨터들은 기계어 프로그래밍을 사용하여 수많은 목적을 위해 데이터 테이블, 벡터, 매트릭스 계산의 배열 구조를 설정하고 접근하였다. [[존 폰 노이만]]은 [[에드박|최초의 저장식 프로그램 컴퓨터]]를 제조하던 1945년 [[머지 소트]]라는 최초의 배열 정렬 프로그램을 작성하였다.<ref>Donald Knuth, ''[[The Art of Computer Programming]]'', vol. 3. Addison-Wesley</ref><sup>p.&nbsp;159</sup> 배열 색인화는 [[자체 수정 코드]]를 통해 구현하였으며, 나중에 [[색인 레지스터]]와 [[어드레싱 모드|비간접 주소 참조]]를 사용하게 된다. [[버로프 라지 시스템|버로프 B5000]] 및 이후 세대 등 1960년대에 설계된 일부 메인프레임들은 [[메모리 세그멘테이션]]을 사용하여 하드웨어에 인덱스 바운드 검사를 수행했다.<ref>{{인용|title=Capability-based Computer Systems|first=Henry M.|last=Levy|publisher=Digital Press|year=1984|isbn=9780932376220|page=22}}.</ref>
 
어셈블리어들은 기계 자체적으로 제공하는 것 외에 일반적으로 배열을 위한 특별한 지원은 없다. [[포트란]](1957년), [[코볼]](1960년), [[알골|알골 60]](1960년)을 포함한 최초의 고급 프로그래밍 언어들은 다차원 배열을 지원하였으며, [[C (프로그래밍 언어)|C]](1972년)도 이 기능을 지원한다. [[C++]](1983년)의 경우, 다차원 배열을 위한 클래스 템플릿들이 지원되며, 이 안에서 차원은 런타임<ref name="garcia">{{저널 인용|last1=Garcia|first1=Ronald |first2=Andrew |last2=Lumsdaine|year=2005|title=MultiArray: a C++ library for generic programming with arrays|journal=Software: Practice and Experience|volume=35|issue=2|pages=159–188|issn=0038-0644|doi=10.1002/spe.630}}</ref><ref name="veldhuizen">{{콘퍼런스 인용|first1=Todd L.|last1=Veldhuizen|title=Arrays in Blitz++|url=http://ubietylab.net/ubigraph/content/Papers/pdf/BlitzArrays.pdf|publisher=Springer Berlin Heidelberg|conference=Computing in Object-Oriented Parallel Environments|date=December 1998|isbn=978-3-540-65387-5|pages=223–230|series=Lecture Notes in Computer Science|volume=1505|doi=10.1007/3-540-49372-7_24}}</ref> 및 런타임 유연 배열에 고정된다.<ref name="andres">{{ArXiv 인용|eprint=1008.2909 |author1=Bjoern Andres |author2=Ullrich Koethe |author3=Thorben Kroeger |author4=Hamprecht |title=Runtime-Flexible Multi-dimensional Arrays and Views for C++98 and C++0x |class=cs.DS |year=2010}}</ref>
 
== 함께 보기 ==

편집

2,290,702