Computer >> 컴퓨터 >  >> 프로그램 작성 >> C 프로그래밍

C 언어에서 큐에 삽입하는 요소는 무엇입니까?

<시간/>

데이터 구조는 구조화된 방식으로 구성된 데이터의 모음입니다. 아래 설명과 같이 두 가지 유형으로 나뉩니다 -

  • 선형 데이터 구조 − 데이터는 선형 방식으로 구성됩니다. 예를 들어 배열, 구조, 스택, 대기열, 연결 목록이 있습니다.

  • 비선형 데이터 구조 − 데이터는 계층적 방식으로 구성됩니다. 예를 들어, 나무, 그래프, 세트, ​​테이블.

대기열

삽입은 후단에서, 삭제는 전단에서 수행되는 선형 데이터 구조입니다.

C 언어에서 큐에 삽입하는 요소는 무엇입니까?

대기열의 순서는 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입니다.