利用队列的基本操作实现杨辉三角的输出.pdfVIP

  • 52
  • 0
  • 约2.61千字
  • 约 6页
  • 2020-11-07 发布于天津
  • 举报

利用队列的基本操作实现杨辉三角的输出.pdf

。 #includestdio.h #includemalloc.h #define Max 30 typedef struct{ int *base; int front; int rear; }SqQueue; int InitQueue(SqQueue Q);// 队列的初始化 int EnQueue(SqQueue Q,int e);// 数据进队(从队尾传值) int DeQueue(SqQueue Q,int e);// 数据出队(返回队头) void YHPrint(SqQueue Q,int n);// 打印杨辉 int InitQueue(SqQueue Q) { Q.base=(int *)malloc(Max*sizeof(int)); if(!Q.base) return 0;// 储存分配失败 Q.front=Q.rear=0; return 1; } int EnQueue(SqQueue Q,int e) { 精选资料,欢迎下载 。 if((Q.rear+1)%Max==Q.front) return 0;// 判断队满 Q.base[Q.rear]=e; Q.rear=(Q.rear+1)%Max; return 1; } int DeQueue(SqQueue Q,int e) { if(Q.front==Q.rear)// 判断队空 return 0; e=Q.base[Q.front]; Q.front=(Q.front+1)%Max; return e; } void YHPrint(SqQueue Q,int n) { int i,j,k,e,s1; for(i=1;i=n;i++) { for(k=0;kn-i;k++) printf( ); 精选资料,欢迎下载 。 for(j=1,s1=0;ji;j++) { int s2; s2=DeQueue(Q,e); printf(%d,s1+s2); printf( ); EnQueue(Q,s1+s2); s1=s2; } printf(1); EnQueue(Q,1); printf(\n); } } // 主函数 main() { int n,t; SqQueue Q; printf( 杨辉三角:\n 执行请输入: 1,退出请输入: 2 !\n); 精选资料,欢迎下载 。 scanf(%d,t); do{ switch(t) { case 1:{ InitQueue(Q); printf( 请输入杨辉三角的层数: \n); scanf(%d,n);

文档评论(0)

1亿VIP精品文档

相关文档