📄 queueyang.cpp
字号:
// QueueYang.cpp : Defines the entry point for the console application.
//
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
#define MAXSIZE 100
typedef struct {
int data[MAXSIZE];
int front,rear;
int tag;
}Squeue;
void initQueue(Squeue *sq){ //初始化空队列
sq->front = 0;
sq->rear = 0;
sq->tag = 0;
}
bool empty(Squeue *sq){ //判队空函数,若Q为空栈,则函数返回值为“真”或为1,否则为“假”或为0
if(sq->front==sq->rear&&sq->tag==0){
return 1;
}
else
return 0;
}
int getfront(Squeue *sq){ //取队头元素
int front;
if(empty(sq)){
printf("Queue is empty!\n");
exit(0);
}
else
{
front=sq->front;
}
return sq->data[front];
}
void enqueue(Squeue *sq,int e) //队尾插入元素
{
if(sq->front==sq->rear&&sq->tag==1){
printf("Queue is full!\n");
exit(0);
}
else{
sq->data[sq->rear]=e;
sq->rear=(sq->rear+1)%MAXSIZE;
}
sq->tag=1;
}
int dequeue(Squeue *sq) //队头删除元素
{
int e;
if(empty(sq)){
printf("Queue is empty!\n");
e = NULL;
}
else{
e=sq->data[sq->front];
sq->front = (sq->front + 1) % MAXSIZE;
}
sq->tag=0;
return e;
}
//打印杨辉三角
/*void display(Squeue *sq,int n){ //n为打印的层数
// 初始化队列
enqueue(sq,1);
enqueue(sq,1);
enqueue(sq,0);
int temp,temp1,temp2,i;
i=n;
while(i>0){
enqueue(sq,1);
while((temp=getfront(sq))!=0){
temp1=dequeue(sq); //删除队头元素,并保存到temp1
printf("%d ",temp1);
temp2=getfront(sq); //取队头元素
enqueue(sq,temp1+temp2); //temp1与temp2相加
}
temp=dequeue(sq); //把0删掉
enqueue(sq,0); //加个0
printf("\n");
i--;
}
}*/
void main(){
/*Squeue *sq;
sq=(Squeue *)malloc(sizeof(Squeue));
printf("请输入打印杨辉三角的层数:\n");
int n;
scanf("%d",&n);
display(sq,n);
*/
Squeue *sq;
sq=(Squeue *)malloc(sizeof(Squeue));
empty(sq);
int a=dequeue(sq);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -