当前位置: 首页 > wzjs >正文

门业网站模板下载wordpress备份

门业网站模板下载,wordpress备份,wordpress新闻模板,科凡网站建设文章目录 一,问题描述二,基本要求三,算法设计四,示例代码五,实验操作六,运行效果 一,问题描述 借助队列实现杨辉三角的输出。杨辉三角是一个由数字排列成的三角形数表,其特点是每行…

文章目录

  • 一,问题描述
  • 二,基本要求
  • 三,算法设计
  • 四,示例代码
  • 五,实验操作
  • 六,运行效果


一,问题描述

借助队列实现杨辉三角的输出。杨辉三角是一个由数字排列成的三角形数表,其特点是每行的数字是由上一行相邻两个数字相加得到(边界数字为 1)。通过使用队列这种数据结构,我们可以按照一定的逻辑顺序来生成和输出杨辉三角的每一行数字,从而实现杨辉三角的可视化展示。

二,基本要求

(1)设计队列存储结构:
使用结构体来定义队列的存储结构,队列包含一个指向存储元素的指针,队头指针,队尾指针以及队列的容量等信息。例如:

typedef int QElemType;
typedef struct {QElemType *base;int front;int rear;int capacity;
} SqQueue;

(2)编写队列初始化(InitQueue)、入队(EnQueue)、出队(DeQueue)、判断队空、判断队满等基本操作函数:

// 队列初始化函数
Status InitQueue(SqQueue &Q, int maxSize) {Q.base = (QElemType *)malloc(maxSize * sizeof(QElemType));if (!Q.base) return ERROR;Q.front = Q.rear = 0;Q.capacity = maxSize;return OK;
}// 入队函数
Status EnQueue(SqQueue &Q, QElemType e) {if ((Q.rear + 1) % Q.capacity == Q.front) return ERROR;Q.base[Q.rear] = e;Q.rear = (Q.rear + 1) % Q.capacity;return OK;
}// 出队函数
Status DeQueue(SqQueue &Q, QElemType &e) {if (Q.front == Q.rear) return ERROR;e = Q.base[Q.front];Q.front = (Q.front + 1) % Q.capacity;return OK;
}// 判断队空函数
int QueueEmpty(SqQueue Q) {return Q.front == Q.rear;
}// 判断队满函数
int QueueFull(SqQueue Q) {return (Q.rear + 1) % Q.capacity == Q.front;
}

(3)设计用队列实现输出杨辉三角的算法:

  1. 初始化一个队列,并将 1 入队,用于生成杨辉三角的第一行(只有一个数字 1)。
  2. 对于每一行(从第二行开始):
    • 先记录当前行的元素个数(等于当前行数)。
    • 入队一个 1,作为当前行的第一个元素(杨辉三角每行开头为 1)。
    • 遍历上一行的元素(通过不断出队和入队操作),将相邻两个元素相加后入队,得到当前行的中间元素。
    • 入队一个 1,作为当前行的最后一个元素(杨辉三角每行结尾为 1)。
    • 输出当前行的元素(通过不断出队操作)。
  3. 重复步骤 2,直到生成并输出完所需行数的杨辉三角。

三,算法设计

  • 队列在输出杨辉三角时的作用分析:

  • 队列在生成杨辉三角的过程中起到了存储和传递数据的作用。通过入队和出队操作,我们可以按顺序处理每一行的元素。每次生成新的一行时,利用队列保存上一行的元素,并通过相邻元素相加的操作来得到当前行的元素。同时,队列保证了元素处理的顺序性,使得我们能够按照杨辉三角的规律依次生成和输出每一行的数字,避免了复杂的数据管理和混乱的计算顺序。

主要步骤如下:

  1. 初始化队列并将第一行的 1 入队。
  2. 按行数循环,每一行先入队开头的 1,然后处理上一行元素得到中间元素入队,最后入队结尾的 1。
  3. 输出当前行元素并清理队列,为下一行做准备。
  4. 重复步骤 2 和 3,直到输出完指定行数的杨辉三角。

四,示例代码

#include <stdio.h>
#include <stdlib.h>#define OK 1
#define ERROR 0
#define MAXSIZE 100typedef int Status;
typedef int QElemType;// 定义队列结构体
typedef struct {QElemType* base;int front;int rear;int capacity;
} SqQueue;// 初始化队列
Status InitQueue(SqQueue* Q) {Q->base = (QElemType*)malloc(MAXSIZE * sizeof(QElemType));if (!Q->base) {return ERROR;}Q->front = Q->rear = 0;Q->capacity = MAXSIZE;return OK;
}// 入队操作
Status EnQueue(SqQueue* Q, QElemType e) {if ((Q->rear + 1) % Q->capacity == Q->front) {return ERROR;}Q->base[Q->rear] = e;Q->rear = (Q->rear + 1) % Q->capacity;return OK;
}// 出队操作
Status DeQueue(SqQueue* Q, QElemType* e) {if (Q->front == Q->rear) {return ERROR;}*e = Q->base[Q->front];Q->front = (Q->front + 1) % Q->capacity;return OK;
}// 输出n行杨辉三角
void out_number(int n) {SqQueue Q;InitQueue(&Q);int s1 = 0, s2 = 1;int i, j;// 输出第一行printf("%d\n", s2);EnQueue(&Q, s1 + s2);for (i = 2; i <= n; i++) {s1 = 0;for (j = 1; j <= i - 1; j++) {DeQueue(&Q, &s2);printf("%d ", s2);EnQueue(&Q, s1 + s2);s1 = s2;}// 输出每行的最后一个 1printf("1\n");EnQueue(&Q, 1 + s2);}free(Q.base);
}int main() {int n;printf("请输入要输出的杨辉三角的行数: ");scanf("%d", &n);out_number(n);return 0;
}

五,实验操作

1.双击程序图标,启动程序。
在这里插入图片描述

2.新建项目。
在这里插入图片描述
3.选择”空项目“——输入项目名称——单击”确认“按钮。
在这里插入图片描述
4.右击”源文件“——”添加“——选择”新建项“。
在这里插入图片描述

5.选择”C++文件“——输入文件名——单击”添加“按钮。
在这里插入图片描述
6.编写代码。
在这里插入图片描述

7.编译代码。
在这里插入图片描述

8.查看编译结果。
在这里插入图片描述

9.单击绿色小三角,运行项目。
在这里插入图片描述

六,运行效果

编程程序运行后的效果
在这里插入图片描述


文章转载自:

http://tn88g6Yw.kwrhq.cn
http://4szB5xBF.kwrhq.cn
http://M25H2ELr.kwrhq.cn
http://1Rwjihy5.kwrhq.cn
http://6kDk0ue0.kwrhq.cn
http://OVNPwPMp.kwrhq.cn
http://zkxamtaH.kwrhq.cn
http://z9t7FAJq.kwrhq.cn
http://sWBqdnge.kwrhq.cn
http://UJK5dbFy.kwrhq.cn
http://Bssm681L.kwrhq.cn
http://rafFVA0R.kwrhq.cn
http://OLydDDJV.kwrhq.cn
http://ochwDw5B.kwrhq.cn
http://8qtWf9ho.kwrhq.cn
http://5JsHueRb.kwrhq.cn
http://XQQtX4lo.kwrhq.cn
http://jNyjwdad.kwrhq.cn
http://h89RWIvA.kwrhq.cn
http://UVEdkDB3.kwrhq.cn
http://5oWBkL3a.kwrhq.cn
http://0aWC0dQd.kwrhq.cn
http://xM6UAaGJ.kwrhq.cn
http://QSPYhOKb.kwrhq.cn
http://mY5EmLAZ.kwrhq.cn
http://cJTfaxGi.kwrhq.cn
http://AQInWioF.kwrhq.cn
http://aYBlAHVz.kwrhq.cn
http://zcLLWyS4.kwrhq.cn
http://eEr9jxH3.kwrhq.cn
http://www.dtcms.com/wzjs/695163.html

相关文章:

  • 重庆建网站有哪些世界电商网站排名
  • dede旅游网站源码 多城市企业网站模板包含什么
  • 私有云可以做网站农村建设自己的网站
  • 1空间做2个网站什么是网站版式
  • 做网站应该学什么电器网站建设
  • 海南找人做网站河南县公司网站建设
  • q版设计网站北京网站建设价格行情
  • 做二手房又做网站的建设网站的重要性
  • 县区网站集约化平台建设研究镇江还有什么网站吗
  • 中国建设银行官网站汽车卡页面设计公司会招低学历的人吗
  • 遵义市网站建设公司移动电商网站设计
  • 鑫路网站建设云南app开发公司哪家好
  • 深圳网站制作要多少钱江苏省建设厅网站证件查询
  • 北京企业网站建设报价虚拟机中做网站
  • 官方网站建设最重要的是什么婴儿衣服做的网站好
  • 济南网站建设工资wordpress迁移不能用
  • 网站做调查需要考虑的内容专业做网站公司怎么样
  • 网站厨师短期培训班wordpress论坛功能
  • 银川网站推广方式做采集网站赚钱吗
  • 网站建设互联网营销营销推广网站视觉设计规范
  • 制作网站公司那家好妇联网站建设方案
  • 招聘网站设计师要求网站建设 金手指 下拉22
  • 最火的网页游戏排行榜东莞百度seo推广机构
  • 做俄语网站阿里云网站建设基本流程
  • 电商网站是什么意思如何用 python 做网站
  • html5手机网站发布网站正在建设中中文模板
  • 网站站群怎么做代理网址代码
  • 自助建站平台有哪些网站权重怎么看
  • 企业网站建设上机考试咸阳建设网站
  • 律师网站建设模板长沙网页网站制作