C言語のキュー

キュー、FIFO配列またはリンクされたリスト

queue.h

// 
// 2020年3月8日にGXFによって作成されます。
// 

#ifndefのUNTITLED_QUEUE_H 
の#define UNTITLED_QUEUE_H 

無効initQueue(); 
無効エンキュー(intデータ); 
int型のデキュー(); 
int型isFull(); 
int型のisEmpty(); 
ボイド)(破壊します。
無効印刷キュー(); 

#endifの// UNTITLED_QUEUE_H

queue.c

// 
// 2020年3月8日にGXFによって作成されます。
// 
の#include "queue.h" 
の#include <stdio.hに> 
する#include <stdlib.h>に含まれ

int型フロント= 0; 
int型後部= 0。
int型*キュー= NULL; 
INT長さ= 100。
int型のサイズ= 0; 


ボイドinitQueue(){ 
    キュー= malloc関数(はsizeof(INT)*長さ)。
} 

ボイドエンキュー(intデータ){ 
    IF(isFull()!){ 
        キュー[リア] =データ。
        リア=(リア+ 1)%の長さ。
        サイズ++; 
    } 
        のprintf( "キューがいっぱいです\ nは"); 
} 

int型のデキュー(){ 
    IF(のisEmpty()!){ 
        int型RES =キュー[フロント]。
        フロント=(フロント+ 1)%の長さ。
        サイズ- ;
        解像度を返します。
    } 
    のprintf( "キューが空である\ n"); 
} 

INT isFull(){ 
    IF(サイズ==長さ)
        リターン1。
    0を返します。
} 

のisEmpty()INT { 
    (サイズ== 0)の場合に
        1を返します。
    0を返します。
} 

ボイド)(破壊{ 
    IF(キュー)
        フリー(キュー)。
} 

ボイド印刷キュー(){ 
    ながら(!のisEmpty()){ 
        のprintf( "%dの"、デキュー())。
    } 
    のprintf( "\ n"); 
}

main.cの

// 
// 2020年3月8日にGXFによって作成されます。
// 

の#include "queue.h" 

int型のmain(){ 
    INT [5] = {4,9、2、3、1}。
    initQueue(); 
    以下のために(INT iが= 0; I <はsizeof()/はsizeof(INT); I ++){ 
        エンキュー([I])。
    } 
    印刷キュー()。
    破壊(); 
    
    
    0を返します。
}

  

おすすめ

転載: www.cnblogs.com/luckygxf/p/12444405.html