데이터 구조는 구조화된 방식으로 구성된 데이터의 모음입니다. 아래 설명과 같이 두 가지 유형으로 나뉩니다 -
-
선형 데이터 구조 − 데이터는 선형 방식으로 구성됩니다. 예를 들어 배열, 구조, 스택, 대기열, 연결 목록이 있습니다.
-
비선형 데이터 구조 − 데이터는 계층적 방식으로 구성됩니다. 예를 들어, 나무, 그래프, 세트, 테이블.
대기열
삽입은 후단에서, 삭제는 전단에서 수행되는 선형 데이터 구조입니다.
대기열의 순서는 FIFO – First In First Out
입니다.작업
- 삽입 – 대기열에 요소 삽입
- 삭제 – 대기열에서 요소를 삭제합니다.
조건
-
Queue over flow - 전체 대기열에 요소를 삽입하려고 합니다.
-
Queue under flow − 빈 대기열에서 요소를 삭제하려고 합니다.
알고리즘
다음은 삽입( ) 알고리즘입니다. -
- 대기열 오버플로를 확인합니다.
if (r==n)printf("대기열 오버플로")
- 그렇지 않으면 대기열에 요소를 삽입하세요.
q[r] =itemr++
프로그램
다음은 큐에 요소를 삽입하기 위한 C 프로그램입니다 -
#include#define MAX 50void insert();int array[MAX];int 후면 =- 1;int 전면 =- 1;main(){ int add_item; 정수 선택; while (1){ printf("1.대기열에 요소 삽입 \n"); printf("2.대기열의 요소 표시 \n"); printf("3.종료 \n"); printf("선택사항을 입력하세요 :"); scanf("%d", &choice); 스위치(선택){ 경우 1:insert(); 부서지다; 사례 2:display(); 부서지다; 사례 3:exit(1); 기본값:printf("잘못된 선택 \n"); } }}인서트 무효(){ int add_item; if (뒤 ==MAX - 1) printf("대기열 오버플로 \n"); else{ if (front ==- 1) /*대기열이 처음에 비어 있는 경우 */ front =0; printf("대기열에 요소 삽입 :"); scanf("%d", &add_item); 후면 =후면 + 1; 배열[후면] =add_item; }} 무효 디스플레이(){ int i; if (front ==- 1) printf("대기열이 비어 있습니다\n"); else{ printf("대기열은 \n"); for (i =전면; i <=후면; i++) printf("%d ", array[i]); printf("\n"); }}
출력
위의 프로그램을 실행하면 다음과 같은 결과가 나온다 -
1.대기열에 요소 삽입2.대기열의 요소 표시3.귀하의 선택을 입력하십시오. 1대기열의 요소를 삽입하십시오:341.대기열에 요소를 삽입하십시오. 요소를 queue2로 표시합니다. queue3의 요소를 표시합니다.선택 사항을 입력하십시오. 2Queue는:34입니다.