非循环队列
C语言实现
#include#define maxSize 10 typedef struct { int *base; int rear; int front; } Que; //初始化 int initeQueue (Que &q) { q.base = new int[maxSize]; if(!q.base) { return -1; } else { q.rear = 0; q.front = q.rear; return 1; } } //入栈 int enterQue(Que &q,int num) { if(q.rear - q.front>maxSize-1) { printf("栈满!n"); return -1; } else { printf("进--%d!n",num); q.base[q.rear]=num; q.rear++; return 1; } } //出栈 int delQue(Que &q,int *num) { if(q.front==q.rear) { printf("栈空!n"); return -1; } else { *num = q.base[q.front]; q.front++; return 1; } } int main() { Que q ; initeQueue(q); int c; enterQue(q,1); enterQue(q,2); enterQue(q,3); enterQue(q,4); enterQue(q,5); enterQue(q,6); enterQue(q,7); enterQue(q,8); enterQue(q,9); enterQue(q,10); enterQue(q,11); delQue(q,&c); printf("%d ",c); delQue(q,&c); printf("%d ",c); delQue(q,&c); printf("%d ",c); delQue(q,&c); printf("%d ",c); return 0; }



