데이터. 가장 간단한 데이터 구조는 해당 요소에 대한 무작위 액세스를 허용하는 선형 목록인 배열입니다. 배열은 스택, 큐와 같은 보다 정교한 데이터 구조의 기초로 사용되는 경우가 많습니다.
스택은 선입, 후출(FILO, First-in, Last-out) 순서로만 요소에 액세스할 수 있는 목록입니다. 큐는 선입선출(FIFO, First-in, Last-out) 순서로만 요소에 액세스할 수 있는 목록입니다. 따라서 스택은 테이블 위에 접시를 쌓아 놓은 것과 같습니다. 아래에서 위로 첫 번째 접시가 마지막으로 사용됩니다. 대기열은 은행의 대기열과 같습니다.
줄을 서 있는 사람이 가장 먼저 음식을 받습니다.
스택 및 큐와 같은 데이터 구조를 흥미롭게 만드는 것은 정보 저장과 정보에 액세스하는 방법을 결합한다는 것입니다. 따라서 스택과 큐는 프로그램에 의해 수동으로 제공되지 않고 데이터 구조 자체에 의해 저장 및 검색이 제공되는 데이터 머신입니다. 물론 이 조합은 클래스에 대한 훌륭한 옵션이며 이 프로젝트에서는 간단한 대기열 클래스를 만들 것입니다.
일반적으로 대기열은 넣기와 가져오기라는 두 가지 기본 작업을 지원합니다. 각 넣기 작업은 대기열 끝에 새 요소를 삽입합니다. 각 가져오기 작업은 대기열의 시작 부분에서 다음 요소를 검색합니다. 대기열 작업은 본질적으로 소모적입니다.
요소가 제거되면 다시 복구할 수 없습니다. 항목을 저장할 수 있는 공간이 없으면 대기열이 가득 차고 모든 요소가 제거되면 비어 있을 수도 있습니다.
마지막 사항: 대기열에는 순환형과 비원형이라는 두 가지 기본 유형이 있습니다. 순환 큐는 요소가 제거될 때 기본 배열 위치를 재사용합니다.
길이를 사용하여 배열 크기를 비교합니다.
비순환 대기열은 위치를 재사용하지 않으며 결국 소진됩니다. 간단히 말해서 이 예에서는 비순환 대기열을 생성하지만 약간의 생각과 노력을 기울이면 쉽게 순환 대기열로 전환할 수 있습니다.
QDemo.java
위 내용은 이것을 사용해보십시오. 대기열 클래스의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!