数据结构之用队列实现杨辉三角

/**************************************************************
  > File Name: PascalTriangle.c
  > Author: chengfeiyan
  > Mail: 1493789272@qq.com 
  > Created Time: 2018年08月10日 星期五 16时30分59秒
 **************************************************************/
#include <stdio.h>
#include "SequenceQueue.h"
#include <stdlib.h>

void Traverse(Queue q)
{
	int i;
	for(i = q.front; i != q.rear; i++)
	{
		if (q.data[i] != 0)
		{
			printf("%d ", q.data[i]);
		}
	}
	printf("\n");
}

int main()
{	
	int /*ret,*/ num, i, top;
	Queue q1, q2;

	if (InitQueue(&q1) != SUCCESS || InitQueue(&q2) != SUCCESS)
	{
		printf("Init Failure!\n");
		exit(1);
	}

	printf("Plesae input line:\n");
	scanf("%d", &num);

	for (i = 0; i < num; i++)
	{
		if (i == 0)
		{
			EnterQueue(&q1, 0);
			EnterQueue(&q1, 1);
			EnterQueue(&q1, 0);
		}
		else
		{
			while (LengthQueue(q1) != 1)
			{
				top = DeleteQueue(&q1);
				EnterQueue(&q2, top + GetFront(q1));
			}
			while (LengthQueue(q2) != 0)
			{
				EnterQueue(&q1, DeleteQueue(&q2));
			}
			EnterQueue(&q1, 0);
		}
		Traverse(q1);	
	}
	return 0;
}

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值