• 循环队列


    #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;
    
    	
    
    }
    

      

  • 相关阅读:
    C#图片存到资源文件,以及调用图片
    error C2039: “create”: 不是“cocos2d::GLView”的成员,出错解决办法
    error LNK2038: 检测到“_MSC_VER”的不匹配项: 值“1600”不匹配值“1800”
    vs2013激活码
    AppDelegate.h文件
    AppDelegate.cpp文件详解
    【最终版】Cocos2d-x&JS v3.7 发布!
    cocos2d-x 3.0 示例代码分析3:BaseTest
    vue li click
    me
  • 原文地址:https://www.cnblogs.com/waiwai4701/p/4207945.html
Copyright © 2020-2023  润新知