程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 隊列的數組實現

隊列的數組實現

編輯:C++入門知識

對於每一個隊列數據結構,我們保留一個數組theArray以及位置front和back,他們代表隊列的兩端。我們還要記錄實際存在於隊列中的元素的個數

currentSize。

要enqueue元素x,可將currentSize和back增1,然後置theArray[back]=x。

要dequeue一個元素,可以置返回值為theArray[front],將currentSize減1,再將front增1.

只要front或back到達數組的尾端,就繞回到開頭。這稱為循環數組實現。
[cpp]  www.2cto.com
#include<stdio.h> 
#define N 10 
 
int front=0,back=-1,currentSize=0; 
void enqueue(int *a,int m) 

    ++back; 
    if(front==N) 
        front = 0; 
    if(back==N) 
        back = 0; 
    currentSize++; 
    a[back] = m;         

int dequeue(int *a) 

    return a[front++]; 
    currentSize--; 

int main(int argc,char *argv[]) 

    int a[N]={0}; 
    int i; 
    for(i=0;i<N;i++) 
    enqueue(a,i); 
    enqueue(a,1); 
//  dequeue(a); 
 
    for(i=0;i<N;i++) 
    printf("%4d",a[i]); 
    return 0; 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved