fcq.cpp

来自「固定容量队列」· C++ 代码 · 共 77 行

CPP
77
字号
#include "FCQ.H"
#include <iostream>
using namespace std;

FixCapQue::	FixCapQue (int cap)
{
	capacity = cap;
	currentNum = 0;
	que = new float[capacity];
	int i;
	for (i=0;i<capacity;i++)
	{
		que[i] = 0.0f;
	}
	head = tail = 0;
}

// FixCapQue::~FixCapQue ()
// {
// 	if (NULL != que)
// 	{
// 		delete []que;
// 	}
// 
// }

void FixCapQue::pop()
{
	if (0 == currentNum)
	{
		cout<<"No data!"<<endl;
		return;
	}
	head += 1;
	head = head%capacity;
	--currentNum;
}

void FixCapQue:: push(float data)
{
	if (capacity == currentNum)
	{
		head += 1;
		head %= capacity;
		*(que+tail) = data;
		tail += 1;
		tail %= capacity;
	}
	else
	{
		*(que+tail) = data;
		tail += 1;
		tail %= capacity;
		++currentNum;		
	}
}

float FixCapQue::get()
{
	return * (que+head);
}

void FixCapQue::displayAllData()
{
	if (currentNum > 0)
	{
		int i = head;
		do 
		{
			cout<< que[i]<<" ";
			i++;
			i %= capacity;
		} while( i!= tail);
	}
	
	cout<<endl;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?