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

有没有高质量的网站都懂的黑马培训机构

有没有高质量的网站都懂的,黑马培训机构,网站建设分金手指专业二八,二维码生成器表白文字1. 手写队列的实现 使用数组实现队列是一种常见的方法。队列的基本操作包括入队(enqueue)和出队(dequeue)。队列的头部和尾部分别用 head 和 tail 指针表示。 代码实现 const int N 10000; // 定义队列容量,确保够…

1. 手写队列的实现

使用数组实现队列是一种常见的方法。队列的基本操作包括入队(enqueue)和出队(dequeue)。队列的头部和尾部分别用 headtail 指针表示。

代码实现
const int N = 10000;  // 定义队列容量,确保够用
int que[N];           // 队列,用数组模拟
int head = 0;         // head始终指向队头。que[head]是队头。开始时队列为空,head = 0
int tail = -1;        // tail始终指向队尾。que[tail]是队尾。开始时队列为空,tail = -1
操作
  • 入队que[++tail] = data; 先将 tail 指针加1,然后将数据 data 放入队列。

  • 出队head++;head 指针加1,表示队头元素出队。

  • 读队头que[head]; 读取队头元素。

2. 数组溢出问题

如果队列中的数据过多,tail 超过数组容量 N,会导致数组溢出。为了避免这个问题,可以使用循环队列。

3. 约瑟夫问题的实现

约瑟夫问题可以通过队列来模拟报数过程。以下是实现代码:

#include <bits/stdc++.h>
using namespace std;
const int N = 10000; 
int que[N];
int head = 0, tail = -1;int main() {int n, m;cin >> n >> m;for (int i = 1; i <= n; i++) {que[++tail] = i;  // 初始化队列,将所有人入队}while ((tail - head + 1) != 0) {  // 队列不为空for (int i = 1; i < m; i++) {  // 报数,将前m-1个人重新入队que[++tail] = que[head];head++;}cout << que[head] << " ";  // 输出第m个人head++;  // 第m个人出队}cout << endl;return 0;
}

4. 循环队列

为了避免数组溢出,可以使用循环队列。循环队列通过取模运算实现队列的循环使用。

循环队列的实现

5. 队列的查找问题

队列是一种线性数据结构,查找某个元素需要从头到尾逐个查找,时间复杂度为 O(n)。如果需要频繁查找元素,可以考虑使用其他数据结构,如哈希表或平衡树。

http://www.mnyf.cn/news/32911.html

相关文章:

  • 曲阜网站设计企业员工培训课程
  • 域名解析网站建设百度关键词搜索指数查询
  • 合肥做网站公司有哪些免费网站搭建平台
  • 网站如何做国外推广长春seo关键词排名
  • 新云手机站官网百度seo优化方法
  • 专做韩餐网站怎样建立一个网站
  • 金华网站建设贴吧推广
  • 番禺网站(建设信科网络)怎么成为百度推广代理商
  • openshift 做网站百度账号注册平台
  • 那种非法网站怎么做的抖音seo软件
  • 郑州网站建设推广什么是seo搜索优化
  • php做网站安全性网页优化包括什么
  • wordpress网站合并写软文的app
  • wordpress星座主题自适应长沙seo男团
  • 池州网站建设网站建设网络广告的概念
  • 建设企业外贸网站怎么做网络推广赚佣金
  • 著名的设计企业网站淘宝网店代运营正规公司
  • 用手机制作游戏的软件seo网站优化多少钱
  • 网站程序源码怎么推广游戏叫别人玩
  • 哈尔滨建站系统点击查看百度seo关键词外包
  • 大宁网站制作百度客服人工服务
  • 邢台网站制作多少钱常宁seo外包
  • 在手机上设计画图的软件seo推广方式是什么呢
  • 响应式网站模仿做百度推广代运营有用吗
  • 邢台公司做网站多少钱百度关键词搜索引擎排名优化
  • 建设教育网站的国内外研究现状餐饮营销案例100例
  • 网站出现500成人用品网店进货渠道
  • 创建网站的六个步骤怎么开发一个网站
  • django网站开发教程网络营销策划方案ppt模板
  • 购物网站开发价格电工培训技术学校