视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
数据结构-利用循环队列打印杨辉三角
2025-10-07 23:35:58 责编:小OO
文档
//------循环队列—队列的顺序存储结构-----

#include

#include

#include //exit的头文件

#define OK 1

#define ERROR 0

#define MAXQSIZE 100//最大队列长度

#define Status int

#define N 10

#define QElemType int

typedef struct{

 初始化的动态分配存储空间

 头指针,若队列不空,指向队列头元素

 尾指针,若队列不空,指向队列队尾元素的下一位置

}SqQueue;

//-----循环队列的基本操作的算法描述----

Status InitQueue(SqQueue &Q){

 构造一个空队列

 存储分配失败

}

int QueueLength(SqQueue Q){

 返回Q的元素个数,即队列的长度

}

Status EnQueue(SqQueue &Q,QElemType e){

 插入元素e为Q的新的队尾元素

 队列满

}

Status DeQueue(SqQueue &Q,QElemType &e){

 若队列不空,则删除Q的队头元素,用e返回其值,并返回OK;

 否则返回ERROR

}

Status GetHead(SqQueue &Q,QElemType &e){

 若队列不空,则用e返回Q的队头元素,并返回OK;

 否则返回ERROR

}

//----打印杨辉三角(前N行)-------------

void YangHuiTriangle()

{

 第一行元素入队

 产生第n行元素并入队,同时打印第n-1行的元素

 

  第n行的第一个元素入队

  利用队中第n-1行元素产生第n行的中间n-2个元素并入队

 

  

   打印第n-1行的元素

  

   利用队中第n-1行元素产生第n行元素

  

 

 

  打印第n-1行的最后一个元素

  第n行的最后一个元素入队

 

}//YangHuiTriangle

 void main()

 {

 }下载本文

显示全文
专题