队列操作、栈操作

队列

队满条件:(Q.rear+1)%maxsize==Q.front
队空条件:Q.front==Q.rear
队中元素个数:(Q.rear-Q.front+maxsize)%maxsize

//判队空
int isEmpty(SqQueue Q)
{
	if(Q.rear==Q.front) return 1;
	else
		return 0;
}
//入队
int EnQueue(SqQeue &Q,ElemType x)
{
	if((Q.rear+1)%maxsize==Q.front)
		return 0;
	Q.data[rear]=x;
	Q.rear=(Q.rear+1)%maxsize;
	return 1;
}
//出队
int DeQueue(SqQueue &Q,ElemType &e)
{
	if(Q.front==Q.rear) 	return 0;
	e=Q.data[front];
	Q.front=(Q.front+1)%maxsize;
	return 1;
	
}

上一篇:1、编写程序,从键盘输入 10 个数据压入栈中,然后从栈中依次弹出这些数据并输出。


下一篇:假设一棵树的存储结构采用双亲表示法,双亲指针数组为int parent[MaxSize],其中MaxSize表示双亲指针数组的最大结点个数。树中各个结点按先根遍历次序存放,根结点存于parent[0]