zoukankan      html  css  js  c++  java
  • 循环队列

    #include "stdafx.h"
    
    #include <iostream>
    using namespace std;
    
    typedef int DataType;
    #define MAXSIZE 5
    
    typedef struct{
    	DataType *base;
    	int front;
    	int rear;
    }CircleQueue;
    
    CircleQueue *init(CircleQueue *queue)
    {
    	queue->base = (DataType*)malloc(MAXSIZE*sizeof(DataType));
    	if(!queue) exit(0);
    	queue->rear = queue->front =0;
    	return queue;
    }
    
    int getLength(CircleQueue *queue)
    {
    	return (queue->rear - queue->front +MAXSIZE)%MAXSIZE;
    }
    
    void inQueue(CircleQueue *queue,DataType e)
    {
    	if((queue->rear+1)%MAXSIZE ==queue->front)
    	{
    		cout<<"the queue is full"<<endl;
    		exit(0);
    	}else
    	{
    		queue->base[queue->rear] = e;
    		queue->rear = (queue->rear+1)%MAXSIZE;
    	}
    }
    
    void outQueue(CircleQueue *queue)
    {
    	if(queue->front == queue->rear)
    	{
    		cout<<"the queue is empty"<<endl;
    		exit(0);
    	}else
    	{
    		cout<<"the out element is :"<<queue->base[queue->front];
    		queue->front= (queue->front+1)%MAXSIZE;
    	}
    }
    
    void main()
    {
    	CircleQueue Q;
    	Q = *init(&Q);
    	cout<<"after init queue length:"<<getLength(&Q)<<endl;
    	inQueue(&Q,1);
    	cout<<"after input queue length:"<<getLength(&Q)<<endl;
    	inQueue(&Q,2);
    	cout<<"after input queue length:"<<getLength(&Q)<<endl;
    	inQueue(&Q,3);
    	cout<<"after input queue length:"<<getLength(&Q)<<endl;
    	inQueue(&Q,4);
    	cout<<"after input queue length:"<<getLength(&Q)<<endl;
    	outQueue(&Q);
    	cout<<"after output queue length:"<<getLength(&Q)<<endl;
    	inQueue(&Q,5);
    	cout<<"after input queue length:"<<getLength(&Q)<<endl;
    	inQueue(&Q,6);
    	cout<<"after input queue length:"<<getLength(&Q)<<endl;
    
    	
    
    }
    

      

  • 相关阅读:
    iOS初级博客的链接
    代理参数问题的思考
    数组里面的选择排序与起泡排序比较
    【C语言】02-函数
    【C语言】01-第一个c程序代码分析
    响应者链的事件分发
    UIController中view的记载流程
    UITabBar的定制
    CommandTabel_代理方法
    来到博客园
  • 原文地址:https://www.cnblogs.com/waiwai4701/p/4207945.html
Copyright © 2011-2022 走看看