⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 seqqueue.h

📁 内存页式调度算法
💻 H
字号:
#include <iostream.h>
#include <stdlib.h>

const int MaxQueueSize=3;
int mzs=0;

class SeqQueue
{
private:
	Datatype data[MaxQueueSize];
	int front;
	int rear;
	int count;
public:
	SeqQueue(void){front=rear=0;count=0;};
	~SeqQueue(){};
	void QInsert(const Datatype & item);    //入队列
    Datatype QDelete(void);   //出队列
	Datatype QFront(void) const;    //读队头
    int QueueEmpty(void)const
	{return front==rear;};
	void ClearQueue(void)
	{front=rear=0;count=0;}
	int GetSize(void)const
	{return count;};
    void Getitem();
    char temp2;
    
};



void SeqQueue::QInsert(const Datatype& item)
{   int a=0;
	int i=0;
	for(i=0;i<3;i++)
	{
		if(item==data[i])
		{
			a ++;
			mzs++;
            break;
		}
       
	}
	if(a!=0) 
	{
		cout<<"已有该"<<item<<"号"<<"页面被调用!"<<endl;
		
	}
	 else
	{
        cout<<"该页不存在内存中!"<<endl;
		
		if(count==MaxQueueSize)
		{
		
		//cerr<<"队列已满,删除一元素!"<<endl;
		QDelete();
		data[rear]=item;
        rear=(rear+1)%MaxQueueSize;
        count++;
		
		
		}
		else
		{
         data[rear]=item;
         rear=(rear+1)%MaxQueueSize;
         count++;
		}
	 }
	

}



Datatype SeqQueue::QDelete()
{
	Datatype temp;
	if(count==0)
	{
		cerr<<"队列已空"<<endl;
		exit(1);

	}
	temp=data[front];
	front=(front+1)%MaxQueueSize;
	count--;
	return temp;

}


Datatype SeqQueue::QFront(void)const
{
	if(count==0)
	{
		cerr<<"队列已空"<<endl;
		exit(1);

	}
	return data[front];
}




void SeqQueue::Getitem()
{
	int i;
	i=0;

   for(i=0;i<3;i++)
   {
	temp2=data[i];
	cout<<temp2<<endl;
	
   }

cout<<"****************"<<endl;

}

⌨️ 快捷键说明

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