杨辉三角
来源:互联网 发布:windows一直在准备配置 编辑:程序博客网 时间:2024/06/05 21:15
学习了队列之后我用队列写了一个实现杨辉三角的程序
头文件
#ifndef _SEQUEUE_H_#define _SEQUEUE_H_#define MAXSIZE 10#define SUCCESS 10000#define FAILURE 10001typedef int ElemType;struct sequeue{ ElemType data[MAXSIZE]; int front; int rear;};typedef struct sequeue SeQueue;#endif
接口函数
#include <stdio.h>#include"SeQueue.h"int QueueInit(SeQueue *Q){ Q->front = Q->rear =0; return SUCCESS;}int EnQueue(SeQueue *Q,ElemType e){ if((Q->rear+1) % MAXSIZE == Q->front) { return FAILURE; } Q->data[Q->rear]= e; Q->rear = (Q->rear+1)%MAXSIZE; return SUCCESS;}int QueueLength(SeQueue Q){ return (Q.rear - Q.front + MAXSIZE)%MAXSIZE;}ElemType GetQueue(SeQueue Q){ return(Q.data[Q.front]);}ElemType DelQueue(SeQueue *Q ,ElemType e){ if(Q->front == Q->rear) { return FAILURE; } e = Q->data[Q->front]; Q->front = (Q->front+1)%MAXSIZE; return e;}
主函数
#include<stdio.h>#include"SeQueue.h"int main(){ SeQueue a,b; int i,l,j,ret; printf("Please input the lines:\n"); scanf("%d",&l); if(QueueInit(&a)!=SUCCESS || QueueInit(&b)!=SUCCESS) { return FAILURE; } for(i=0;i<l;i++) { if(i==0) { EnQueue(&a,0); EnQueue(&a,1); EnQueue(&a,0); printf("1\n"); } else { EnQueue(&b,0); while(QueueLength(a)!=1) { EnQueue(&b,DelQueue(&a)+GetQueue(a)); } DelQueue(&a); EnQueue(&b,0); int length=QueueLength(b); for(j=0;j<length;j++) { ret = DelQueue(&b); if(ret !=0) { printf("%d ",ret); } EnQueue(&a,ret); } printf("\n"); } } return 0;}
阅读全文
0 0
- 杨辉三角/帕斯卡三角
- (尹成)杨辉三角(正三角 倒三角)
- 学习:杨辉三角(帕斯卡三角)
- 杨辉三角
- 杨辉三角
- 杨辉三角
- 杨辉三角算法
- C# 杨辉三角
- 杨辉三角
- 杨辉三角
- 杨辉三角程序
- 打印杨辉三角
- 杨辉三角
- 杨辉三角
- 杨辉三角
- 杨辉三角源代码
- 杨辉三角~~~~~~~~
- 杨辉三角
- 自定义horinatilalview
- CDOJ 1292 卿学姐种花 暴力 分块 线段树
- js根据日期计算星期几
- linux之cut命令的用法
- Java解析yaml
- 杨辉三角
- 状压dp Mondriaan's Dream
- hdu-5444(简单建树和遍历)
- 【课程笔记】遥感技术应用实验_几何校正
- 使用python将xml文件解析成html文件
- ffmpeg一些小实验
- C语言文件读写操作总结
- 利用weka.jar算法改进
- 20个高级Java面试题汇总