Advertisement

队列用于解决杨辉三角形数据结构问题

阅读量:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

就是下面的元素是这个元素“肩膀上”的两个元素之和。

思路:首先建立一个队列,并将数字1作为其初始元素;然后按照这个队列逐步计算出任意一行的二项式系数。

确定用户输入的行数后从而决定循环次数,在这些循环中程序基于杨辉三角的实际构造函数来模拟构建过程。每次生成一个新的二项式系数序列,并将其存储在一个新的队列中。在本次循环结束后此次生成的序列将成为后续构建另一个二项式系数序列时的重要参考依据。

代码如下:

#include<stdio.h> #include #include<assert.h> template class LinkQueueNode//结点类定义 { public: T data; LinkQueueNode* link; LinkQueueNode(T& value):data(value),link(NULL){} }; template class LinkQueue { LinkQueueNode* front; LinkQueueNode* back; public: LinkQueue():front(NULL),back(NULL){} void EnQueue(T& element); T DelQue

全部评论 (0)

还没有任何评论哟~