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

📄 queueyang.cpp

📁 数据结构实现杨辉三角的打印输出
💻 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 + -