数据结构循环队列以及打印杨辉三角
来源:互联网 发布:js转义html的特殊字符 编辑:程序博客网 时间:2024/05/17 15:59
#include "stdio.h"#include"malloc.h"#include"stdlib.h"#define OK 1#define ERROR 0#define OVERFLOW -1#define maxsize 100typedef int QElemType;typedef int Status;/******************struct****************/typedef struct{QElemType *base;int front;int rear;}SqQueue;/*****************init*******************/Status InitQueue_Sq(SqQueue *Q){Q->base=(QElemType *)malloc(maxsize*sizeof(QElemType));if(!Q->base)exit(OVERFLOW);Q->front=Q->rear=0;return OK;}/****************enqueue*****************/Status EnQueue_Sq(SqQueue *Q,QElemType e){if((Q->rear+1)%maxsize==Q->front)exit(0);Q->base[Q->rear]=e;Q->rear=(Q->rear+1)%maxsize;return OK;}/****************dequeue*****************/Status DeQueue_Sq(SqQueue *Q,QElemType *e){if(Q->rear==Q->front)exit(0);*e=Q->base[Q->front];Q->front=(Q->front+1)%maxsize;return OK;}Status GetFront(SqQueue Q,QElemType *e){if(Q.rear==Q.front)exit(0);*e=Q.base[Q.front];return OK;}/****************Qlength*****************/int QueueLength(SqQueue Q){return ((Q.rear-Q.front+maxsize)%maxsize);}int main(){int i,j,q,a,n,x,z;SqQueue Q1;if(InitQueue_Sq(&Q1)==OK)printf("Init is ok!\n");q=1;printf("please enter a value for n.\n");scanf("%d",&n);EnQueue_Sq(&Q1,q);EnQueue_Sq(&Q1,q);for(z=1;z<=n-1;z++)printf(" ");printf("%d\n",q);for(z=1;z<=n-2;z++)printf(" ");printf("%d%8d\n",q,q);for(i=3;i<=n;i++){for(z=1;z<=n-i;z++)printf(" ");printf("%d",1);for(j=1;j<i-1;j++){DeQueue_Sq(&Q1,&q);GetFront(Q1,&a);x=q+a;printf("%8d",x);EnQueue_Sq(&Q1,x);}printf("%8d\n",1);q=1;EnQueue_Sq(&Q1,q);}system("pause");return 0;}
- 数据结构循环队列以及打印杨辉三角
- 用循环队列实现打印杨辉三角(数据结构)
- 循环队列打印杨辉三角
- 数据结构循环队列实现杨辉三角
- 【数据结构队列的应用】用队列打印杨辉三角
- 利用循环队列打印输出杨辉三角
- 利用循环队列实现杨辉三角的打印
- 数据结构实验八——队列打印杨辉三角
- 数据结构知识整理-递归循环打印杨辉三角
- 顺序队列(循环队列)+链式队列+打印杨辉三角
- 队列实现杨辉三角打印
- 队列实现 杨辉三角的打印
- 用队列打印杨辉三角
- 用队列打印杨辉三角
- 用 队列 打印 杨辉三角
- 打印杨辉三角--for循环
- 数据结构:使用栈和队列相关知识打印杨辉三角
- 循环队列实现杨辉三角
- 多线程-----经典解释监视器和对象锁
- C++ deque
- VC++调用winrar
- 第十二周-求解分段函数的值4
- 特殊求和
- 数据结构循环队列以及打印杨辉三角
- 两个数的最大公约数和最小公倍数(利用辗转相除法)
- 使用JDOM创建xml文件
- folly源码分析(1) - Conv.h
- union和union all有什么不同
- Python_Kivy_问题总结
- BitBlt和StretchBlt的区别
- folly源码分析(2)- ProducerConsumerQueue.h
- vs2008 编译选项showIncludes 应用一例