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

📄 3。4。1.cpp

📁 队列相关问题 (C++) 队列的算法 题目:假设以带头结点的循环链表表示队列
💻 CPP
字号:
#include"3。4。1.h"
#include"iostream.h"
template<class T>
Queue<T>::Queue(int s)
{
	//构造函数。创建队列空间,生成一个空队列
	MaxSize=s;
	elements=new T [MaxSize];                               //创建队列空间
	front=rear=0;                                           //生成一个空队列
}
template<class T>
int Queue<T>::EnQueue(const T&item)
{
	//入队。若队列不满,则item插入队尾,返回0;否则返回-1
	if(!IsFull())
	{
		elements[rear]=item;                                //入队
		rear=(rear+1)%MaxSize;                              //队尾指针增1
		return 0;                                           //返回0
	}
	else return -1;
}
template<class T>
T Queue<T>::DeQueue(void)
{
	//出队。若队列不空,则删除队头元素,返回该元素的值。否则返回NULL
	if(!IsEmpty())
	{
		T item=elements[front]; 
		front=(front+1)%MaxSize;                           //队头指针增1
		return item;                                       //队列非空,返回队头元素的值
	}
	else return NULL;                                      //空队,返回NULL
}
template<class T>
T Queue<T>::GetFront(void)
{
	//队列非空,返回队头元素的值
	if(!IsEmpty())
	{
		//队列非空,返回队头元素的值
		return elements[front];
	}
	//空队,返回NULL
	else 
		return NULL;
}
template<class T>
void Queue<T>::Issymmetric(char Q[100],int len)
{
    int flag=1;
	const int size=100;
    int Z[size]; 
    for(int i=0;i<len;i++)
	{
	EnQueue(Q[i]);
	}
	for(i=0;i<len;i++)
	{
	Z[i]=DeQueue();
	}
	for(i=0;i<len/2;i++)
	{
     if(Z[i]==Z[len-i-1])
	 {flag=1;break;}
     else 
	 {flag=0;break;}
	}
	if(flag==1)
	   cout<<"This character is symmetric!"<<endl;
    else
	    cout<<"This character isn't symmetric!"<<endl;
}

⌨️ 快捷键说明

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