3。4。1.cpp

来自「队列相关问题 (C++) 队列的算法 题目:假设以带头结点的循环链表表示队」· C++ 代码 · 共 74 行

CPP
74
字号
#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 + =
减小字号Ctrl + -
显示快捷键?