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

📄 slist.h

📁 设计一个允许n个进程并发运行的进程管理模拟系统。该系统包括有简单的进程控制、同步与通讯机构
💻 H
字号:
#include<assert.h>
class queue;
class queuenode{
	friend class queue;
private:
	char data;
	queuenode * link;
	queuenode (char d=0,queuenode * l=NULL): data(d),link(l){}
};
class queue{
public:
	queue():rear(NULL),front(NULL){};
	~queue();
	void enqueue( char &item);
	char dequeue();
	void del(char item);
	void display();
	int find(char item);
	int isempty(){return front==NULL;}
private:
	queuenode *front,*rear;
};
queue::~queue(){
	queuenode * p;
	while(front!=NULL){
		p=front;front=front->link;delete p;
	}
}
void queue::enqueue(char &item){
	if(front==NULL)front=rear=new queuenode(item,NULL);
	else rear=rear->link=new queuenode(item,NULL);
}
char queue::dequeue(){
		queuenode *p=front;
    char f=p->data;front=front->link;
	delete p;
	return f;
	}
void queue::display(){
	queuenode *p;
	p=front;
	while(p!=NULL)
	{	cout<<p->data<<"->";
	     p=p->link;
	}
	cout<<"NULL";

}
queue::find(char item)
{    queuenode *w;
   w=front;
	M:while(w!=NULL)
	{
     if(item==w->data)
	 {	return 1;break;
	 }
	else
	{	w=w->link;
		goto M;
	}
	}
	if(w==NULL) return 0;
}
void queue::del( char item)
{   queuenode *q,*b;
     q=front;
	 while(q->data!=item)
		 {b=q;
		q=q->link;
		 }
	 if(q==front)  {front=front->link; delete q;}
	 else if(q==rear) {rear=b;rear->link=NULL;delete q;}
	    else {b->link=q->link;  delete q;}
}



⌨️ 快捷键说明

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