title: 0603-0605读书报告
date: 2019-06-24
tags:

  • 队列
  • 链表
  • luogu
  • 《啊哈!算法!》
    categories: 算法学习

欢迎访问我的博客,以获得更好的阅读体验Hunter’s Blog

学习内容:队列与链表

队列:

通过数组进行队列操作,会费时间较多如图所示

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VyjJCAAI-1580477428200)(https://i.loli.net/2019/06/07/5cfa181397ae265980.png)]

每次删除会交换位置,时间较长

于是用指针(我喜欢用int)来记录队列首位末尾便可以快速完成

不多说了

链表

顾名思义就是一条链子,有单向、双向、环形;

一般我会这样用

struct queueDat{int data;queueDat *front = NULL, *back = NULL;}que[100001];

就是一个结构体,然后除了数据以外有两个指针

于是做了道题目

P1160

就是一道模拟+链表

#include <bits/stdc++.h>using namespace std;
struct queueDat
{int ID;queueDat *front = NULL, *back = NULL;
} que[100001];
queueDat *head = &que[1];
void _cut(int ID)
{queueDat *cut = &que[ID];if (cut->ID == head->ID)head = cut->back;cut = cut->front;cut->back = cut->back->back;cut = cut->back;cut->front = cut->front->front;
}
void _add(int num, int ID, bool back)
{queueDat *find = &que[ID], *add = &que[num];if (back){add->front = find;add->back = find->back;find->back = add;find = find->back->back;find->front = add;return;}else{add->back = find;add->front = find->front;find = find->front;find->back = add;find = find->back->back;find->front = add;if (ID == head->ID)head = add;}
}
int main()
{bool inQueue[100001];memset(inQueue, false, sizeof(inQueue));inQueue[1] = true;for (int i = 1; i < 100001; i++)que[i].ID = i;que[1].back = &que[1];que[1].front = &que[1];int totStudents, a, b;cin >> totStudents;for (int i = 2; i <= totStudents; i++){inQueue[i] = true;cin >> a >> b;_add(i, a, ((b == 0) ? false : true));}cin >> totStudents;for (int i = 0; i < totStudents; i++){cin >> a;if (inQueue[a] == true){inQueue[a] = false;_cut(a);}}b = head->ID;do{cout << head->ID << " ";head = head->back;}while (b != head->ID);return 0;
}

指针的数据操作一般是->/’.’

呼~~

0603-0605读书报告相关推荐

  1. web计算机导论读书报告,计算机导论 读书报告.doc

    文档介绍: 读书报告李佳(计1501班41524111)一.引言如何认识计算学科,存在很多争议.1984年7月,美国计算机科学与工程博士单位评审部的专家在犹他州召开的会议上对计算认知问题进行了讨论.这 ...

  2. DCX读书报告Bring structure to the web有感

    DCX今天做的学术报告直接采用MSRA荣研究员的"Bring Structure to the web"的PPT,读的效果很不错,看样子是下功夫了,他理解了80%以上 当然学术报告 ...

  3. 计算机专业英语读书报告,英语读书报告怎么写

    <英语读书报告怎么写>由会员分享,可在线阅读,更多相关<英语读书报告怎么写(8页珍藏版)>请在装配图网上搜索. 1.英语读书报告怎么写-工作报告一:英文读书报告撰写格式英文读书 ...

  4. 如何持续、正确、安全地把材料性能检测试验做好:“清单革命”读书报告

    摘要:在当下材料性能测试领域还存在这大量"无能之错",尽管在人.机.料.法.环方面做了大量努力,但还是存在着缺少具体操作手册这一具体环境,缺少操作人员如何在众多机.料.法.环中做出 ...

  5. 《智能控制导论》读书报告(课程作业)--常规控制的智能化

    <智能控制导论>读书报告 常规控制的智能化 学 生:xxx 学 号:xxxx 指导教师:xxx 专 业:控制工程 xx大学自动化学院 二OO七年十一月 摘要:本文以常规控制器中最具代表性的 ...

  6. 名著赏读 | 《教育思想的演进》读书报告

    本文来自于作者2019年11月在清华大学教育研究院<高等教育学专题研究>课程上的读书报告.要点是:教育学为什么以及如何采用历史研究方法,具体如下:(1)教育学的历史研究即为站在广阔的社会背 ...

  7. 《两种文化》——读书报告

                                                                                                        ...

  8. 程序人生 -【2017年读书报告+书籍推荐】

    0. 2017年读书报告 以下推荐书单仅代表个人意见,选自截止至2017-12-31我所读过的所有书籍. 1.推荐书单零(算法类书籍) <C++ Primer 中文版(第 5 版)>– [ ...

  9. 计算机基础文化的读书报告,计算机导论读书报告

    计算机学科概论读书报告 引言: 在大一下学期时,院里要分专业.在我的印象里,计算机科学与技术学的主要是关于计算机的使用.在我看来,当今时代,计算机是每个人都要掌握的.由于之前又不是很了解计算机,于是毫 ...

最新文章

  1. 一个量子物理学家是怎样研究 AI 的? | 8月书讯
  2. 通过C#代码 压缩/解压文件
  3. Altium Designer隐藏电气连接线
  4. centos磁盘空间满查询和移动命令小记
  5. cocos2dx-3 addImageAsync陷阱
  6. Kaldi AMI数据集脚本学习3---run_ihm.sh stage 1~3
  7. kernel——make menuconfig的实现原理【转】
  8. XtraBackup备份mysql5.1.73
  9. android 开源gis,开源GIS之--移动GIS
  10. 数列求和再求极限问题
  11. godaddy无法修改域名服务器,GoDaddy域名修改DNS设置方法
  12. html默认样式重置,我们真的需要CSS重置来清除默认样式吗?
  13. D38| DP理论基础 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯
  14. 【论文导读】Self-Supervised Learning with Data AugmentationsProvably Isolates Content from Style
  15. Actor模型与传统模型
  16. 欧文分校计算机新sat多少分录取,加州大学欧文分校SAT成绩要求介绍 入学信息早知道...
  17. 以太坊Geth私链环境搭建
  18. 如何更换 macOS Mojave 登陆界面背景图?
  19. 保存OpenGL窗口每一帧代码段(freeimage库)
  20. RFID标签测试结果受哪些因素影响

热门文章

  1. 含氢氯氟烃行业研究及十四五规划分析报告
  2. 【汉字编码几个字节】
  3. Java注解annotation invalid type of annotation member
  4. html5 点灯游戏,夜点灯剧情讲了什么 夜点灯游戏剧情背景介绍-游侠网
  5. 常见电路结构分析三:自锁控制
  6. 一步步演示Avantage软件如何处理XPS谱图!
  7. [Linux驱动炼成记] 10 -光感ISL29035调试/IIO子系统
  8. Vagrant安装到其它盘(除C)
  9. 统计自然语言处理基础-第三章 语言学基础(笔记)
  10. 201571030139/201571030134《小学生四则运算练习软件需求说明》结对项目报告