c 언어 큐 예제

이 섹션의 C 프로그램은 다른 데이터 구조를 사용하여 Queue의 구현을 보여 줍니다. 여기에는 동적 메모리 할당을 사용하여 배열 및 매크로를 사용하고 스택을 사용하여 큐를 구현하는 프로그램이 포함되어 있습니다. 동적 메모리 할당을 사용하면 프로그램 내에서 프로그램의 요구에 맞게 모든 크기와 길이의 데이터 유형과 구조를 만들 수 있습니다. 광범위한 첫 번째 검색에서는 가능한 모든 후계자를 찾아 대기열에 대기열에 넣으며 가장 가까운 모든 가능성을 살펴봅습니다. Enqueue는 큐에 요소를 삽입하는 프로세스입니다. 큐에서 요소는 항상 큐의 후면에 삽입됩니다. 큐는 선형 데이터 구조로, 요소는 특수 한 방식으로 정렬 됩니다(예: FIFO(첫 번째 아웃). 즉, 큐에 먼저 삽입된 요소가 큐에서 먼저 제거됩니다. 다음 링크에서 C 큐 구현 프로젝트를 다운로드할 수 있습니다. 스택과 큐의 차이는 제거에 있습니다. 스택에서 가장 최근에 추가된 항목을 제거합니다.

큐에서 가장 최근에 추가된 항목을 제거합니다. 일반적으로 큐에서 수행하는 두 가지 기본 작업이 있습니다. 요소를 큐에 놓으면 헤드 포인터가 꼬리 포인터즉, 큐가 비어 있을 때까지 헤드 포인터 1 위치를 늘립니다. 순환 큐 구현은 분할의 나머지 부분을 취하여 계산되는 modulo 연산자(표시%)를 사용하여 수행됩니다(예: 8%5는 3). modulo 연산자를 사용 하 여 순환 배열로 큐를 볼 수 있습니다., 여기서 “래핑” “뒤로 % array_size”로 시뮬레이션할 수 있습니다. 후면 및 전면 인덱스 외에도 큐의 요소 수를 계산하기 위한 cur라는 또 다른 인덱스를 유지합니다. 이 인덱스를 갖는 것은 구현의 논리를 단순화. 큐는 기본적으로 데이터를 순차적으로 저장하는 선형 데이터 구조입니다. 첫 번째 아웃(FIFO) 순서를 따릅니다. 이 섹션의 C 프로그램은 Queue의 다양한 구현을 다룹니다.

여기에는 배열, 연결된 목록을 사용하여 Queue를 구현하고 요소를 추가하고 삭제하는 우선 순위 큐를 구현하는 프로그램이 포함되어 있습니다. 우선 순위 큐에서 값은 우선 순위에 따라 순서대로 나옵니다. 머리와 꼬리 포인터가 동일한 위치를 가리키면 큐가 비어 있습니다: 큐는 FIFO(선착-아웃) 원칙에 따라 추가되고 제거되는 개체의 모음입니다. 즉, 큐에 추가된 첫 번째 요소가 큐에서 제거되는 첫 번째 요소가 됩니다. 다음은 스택 및 큐에 대한 C 프로그래밍 예제 목록입니다. 실제 생활에서 당신은 다양한 큐 예제를 우연히 만났습니다. 티켓 카운터에서 사람의 대기열과 같은, 첫 번째 사람이 큐에 입력 먼저 티켓을 가져옵니다. 스택은 마지막 IN-first-out(LIFO) 원칙에 따라 작동하므로 큐를 스택과 혼동하지 마십시오. 위의 문은 QUEUE를 생성하며, 여기서 CAPACITY는 큐의 최대 용량을 일정하게 정의합니다. 큐 정의와 함께 큐에서 작업을 수행하기 위해 몇 가지 다른 변수가 필요합니다. 배열을 사용하여 큐, 큐 및 큐 제거 작업을 구현하는 C 프로그램을 작성합니다.

이 게시물에서는 C 프로그래밍의 배열을 사용하여 큐 구현을 설명합니다. C 언어로 배열을 사용하여 큐 데이터 구조를 구현하는 방법을 알아봅니다. 나중에 기본 큐 작업을 큐 및 큐 제거를 구현하는 방법을 배웁니다. 먼저 대기열이 비어 있으므로 머리 및 꼬리 포인터를 초기화해야 합니다. 큐 뒷면에 추가된 큐에 새로 추가된 반면 대기열에서 제거한 경우, 처음 제공된 고객이 처음 제공되었습니다. 배열은 각 요소에 직접 적으로 일정한 시간에 액세스할 수 있는 임의 액세스 데이터 구조입니다. 임의 액세스의 전형적인 그림은 책입니다 – 책의 각 페이지는 다른 사람과 독립적으로 열 수 있습니다. 임의 액세스는 이진 검색과 같은 많은 알고리즘에 매우 중요합니다.