- 环形队列,是一种非常高效的数据结构,在操作系统、数据库、中间件和各种应用系统中大量使用。今天咱们就来盘它。下面是一个环形队列的示意图:环形队列,有两个指针:头指针和尾指针。在队尾写入,移动尾指针;从队列头部读取,移动头指针。环形队列,是一种特殊的队列。因此具有队列的显著特征:先进先出。其特殊性在于"环形", 内存空间可以不断重复使用,无需频繁分配和释放内存。并且,可以非常容易实现无锁的数据结... 环形队列,是一种非常高效的数据结构,在操作系统、数据库、中间件和各种应用系统中大量使用。今天咱们就来盘它。下面是一个环形队列的示意图:环形队列,有两个指针:头指针和尾指针。在队尾写入,移动尾指针;从队列头部读取,移动头指针。环形队列,是一种特殊的队列。因此具有队列的显著特征:先进先出。其特殊性在于"环形", 内存空间可以不断重复使用,无需频繁分配和释放内存。并且,可以非常容易实现无锁的数据结...
- 这里我们用c语言模拟扫雷游戏,当然,由于作者水平有限,暂时不能做出图形,也暂时不能使用鼠标操作,只能用键盘操作。 这里我们用c语言模拟扫雷游戏,当然,由于作者水平有限,暂时不能做出图形,也暂时不能使用鼠标操作,只能用键盘操作。
- 基数排序(Radix sort)是一种非比较型整数排序算法,其基本思想为:一个待排序整数序列,将其中每个整数看成由不同位构成(比如,个位十位百位千位...)。可以先按个位的数值,将这些数分配到0~9的10个桶中,然后再按从0到9的顺序把这些数从10个桶中收集回来,这时这些数就已经按照个位排好序了。然后再按照10位上的数值,把这些数分配到10个桶中,分配完毕后再次收集回来,这时这些数就已经按照... 基数排序(Radix sort)是一种非比较型整数排序算法,其基本思想为:一个待排序整数序列,将其中每个整数看成由不同位构成(比如,个位十位百位千位...)。可以先按个位的数值,将这些数分配到0~9的10个桶中,然后再按从0到9的顺序把这些数从10个桶中收集回来,这时这些数就已经按照个位排好序了。然后再按照10位上的数值,把这些数分配到10个桶中,分配完毕后再次收集回来,这时这些数就已经按照...
- 计数排序算法的思想为:待排序的数列中,先找出最小值min和最大值max,形成一个值区间[min, max]。然后建立一个存储空间,存储空间中的每个位置,对应值区间[min, max] 中的一个值,形成一对一的关系。每个位置上,存储这个值出现的次数,叫做计数。初始计数值都为0。然后遍历待排序的数列,对每个值,将这个值对应的存储空间上对应位置的计数值加一。遍历完成后,存储空间上每个位置对应的... 计数排序算法的思想为:待排序的数列中,先找出最小值min和最大值max,形成一个值区间[min, max]。然后建立一个存储空间,存储空间中的每个位置,对应值区间[min, max] 中的一个值,形成一对一的关系。每个位置上,存储这个值出现的次数,叫做计数。初始计数值都为0。然后遍历待排序的数列,对每个值,将这个值对应的存储空间上对应位置的计数值加一。遍历完成后,存储空间上每个位置对应的...
- 桶排序算法的思想是: 把待排序数据,按照一定的规则,分配到不同的桶中,使得桶与桶之间形成有序的关系。然后每个桶内再单独排序,这样整个数列就全局有序了。 桶排序算法的思想是: 把待排序数据,按照一定的规则,分配到不同的桶中,使得桶与桶之间形成有序的关系。然后每个桶内再单独排序,这样整个数列就全局有序了。
- 1 引言 C++语言许多年来一直是编程语言中排名前三的语言。这一章节我们就来学习和研究一下C++编程语言。 2 C++语言概况 C++语言是由BjarneStroustrup创建的一种通用编程语言,是C语言的扩展,即 "C with Classes"。 2.1 功能和优势 随着时间的推移,该语言已经有了很大的发展,现代C++现在除了有面向对象、泛型和其他功能特性以... 1 引言 C++语言许多年来一直是编程语言中排名前三的语言。这一章节我们就来学习和研究一下C++编程语言。 2 C++语言概况 C++语言是由BjarneStroustrup创建的一种通用编程语言,是C语言的扩展,即 "C with Classes"。 2.1 功能和优势 随着时间的推移,该语言已经有了很大的发展,现代C++现在除了有面向对象、泛型和其他功能特性以...
- 昨天给大家介绍了插入排序算法,今天介绍的希尔排序算法,其实是插入排序算法的更高效改进版。该算法因D.L.Shell于1959年提出而得名。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列... 昨天给大家介绍了插入排序算法,今天介绍的希尔排序算法,其实是插入排序算法的更高效改进版。该算法因D.L.Shell于1959年提出而得名。希尔排序是基于插入排序的以下两点性质而提出改进方法的:插入排序在对几乎已经排好序的数据操作时,效率高,即可以达到线性排序的效率;但插入排序一般来说是低效的,因为插入排序每次只能将数据移动一位;希尔排序的基本思想是:先将整个待排序的记录序列分割成为若干子序列...
- 今天给大家介绍插入排序算法,并且给出源码实现。插入排序算法的思想是,对于一个包含N个未排序元素的数组,我们可以从位置1开始,通过比较元素1和元素0,把元素1插入到元素0的前面或者后面,实现这两个元素的有序排列。然后再取元素2,这个元素前面的序列都已经是有序的了,因此只要找到元素2在前面序列中的位置,进行插入,那么元素0至元素2就都排好序了。再取元素3,向前面有序序列进行插入,依次进行,一直到... 今天给大家介绍插入排序算法,并且给出源码实现。插入排序算法的思想是,对于一个包含N个未排序元素的数组,我们可以从位置1开始,通过比较元素1和元素0,把元素1插入到元素0的前面或者后面,实现这两个元素的有序排列。然后再取元素2,这个元素前面的序列都已经是有序的了,因此只要找到元素2在前面序列中的位置,进行插入,那么元素0至元素2就都排好序了。再取元素3,向前面有序序列进行插入,依次进行,一直到...
- 左移的一些高端用法 左移的一些高端用法
- 0 变 1、1 变 0 0 变 1、1 变 0
- 快速排序(QuickSort),是一种比较经典的排序算法,在很多基础库中都有实现。今天给大家介绍一下快速排序(QuickSort)原理,并且咱们自己动手实现一把。QuickSort的原理如下:我们先从数组中取一个基准元素,然后通过多次比较和元素交换,最终找到一个位置,使得左侧元素都比这个基准元素小,右侧元素都比这个基准元素大。然后把基准元素放到这个位置上,这个位置,就是这个基准元素在最终排好... 快速排序(QuickSort),是一种比较经典的排序算法,在很多基础库中都有实现。今天给大家介绍一下快速排序(QuickSort)原理,并且咱们自己动手实现一把。QuickSort的原理如下:我们先从数组中取一个基准元素,然后通过多次比较和元素交换,最终找到一个位置,使得左侧元素都比这个基准元素小,右侧元素都比这个基准元素大。然后把基准元素放到这个位置上,这个位置,就是这个基准元素在最终排好...
- 现代编程语言,基本都提供了try...catch 语法,用于进行程序逻辑的异常处理。为什么要用try...catch? 我们来看一下常规的程序写法:int biz_xxx(...) { // step1: do logic1 .... if (ret != 0) { // 错误处理1 ... } // step2: do logic2... 现代编程语言,基本都提供了try...catch 语法,用于进行程序逻辑的异常处理。为什么要用try...catch? 我们来看一下常规的程序写法:int biz_xxx(...) { // step1: do logic1 .... if (ret != 0) { // 错误处理1 ... } // step2: do logic2...
- 第一章 预备知识 1、C++简介C++融合了3种不同的编程方式:C语言代表的过程性语言C++在C语言基础上添加了类代表的面向对象语言C++模板支持的泛型编程C++继承C语言高效、简洁、快速和可移植性的传统。 2、C++简史 2.1 C语言编程:过程性语言Bell实验室的Dennis Ritchie为了设计开发UNIX的通用性、可移植性等,在旧语言的基础上开发了C语言。汇编语言依赖于计算机的... 第一章 预备知识 1、C++简介C++融合了3种不同的编程方式:C语言代表的过程性语言C++在C语言基础上添加了类代表的面向对象语言C++模板支持的泛型编程C++继承C语言高效、简洁、快速和可移植性的传统。 2、C++简史 2.1 C语言编程:过程性语言Bell实验室的Dennis Ritchie为了设计开发UNIX的通用性、可移植性等,在旧语言的基础上开发了C语言。汇编语言依赖于计算机的...
- 3 > 2 > 1 真的成立吗? 3 > 2 > 1 真的成立吗?
- 计算二次方程的根是我们在童年时期学到的东西。然而,二次方程的复杂性随着时间的推移而增加。处理这个问题的方法也得到了发展。在本文中,我们将研究一种编写 C 程序以求二次方程根的方法。 计算二次方程的根是我们在童年时期学到的东西。然而,二次方程的复杂性随着时间的推移而增加。处理这个问题的方法也得到了发展。在本文中,我们将研究一种编写 C 程序以求二次方程根的方法。
上滑加载中
推荐直播
-
HDC深度解读系列 - Serverless与MCP融合创新,构建AI应用全新智能中枢
2025/08/20 周三 16:30-18:00
张昆鹏 HCDG北京核心组代表
HDC2025期间,华为云展示了Serverless与MCP融合创新的解决方案,本期访谈直播,由华为云开发者专家(HCDE)兼华为云开发者社区组织HCDG北京核心组代表张鹏先生主持,华为云PaaS服务产品部 Serverless总监Ewen为大家深度解读华为云Serverless与MCP如何融合构建AI应用全新智能中枢
回顾中 -
关于RISC-V生态发展的思考
2025/09/02 周二 17:00-18:00
中国科学院计算技术研究所副所长包云岗教授
中科院包云岗老师将在本次直播中,探讨处理器生态的关键要素及其联系,分享过去几年推动RISC-V生态建设实践过程中的经验与教训。
回顾中 -
一键搞定华为云万级资源,3步轻松管理企业成本
2025/09/09 周二 15:00-16:00
阿言 华为云交易产品经理
本直播重点介绍如何一键续费万级资源,3步轻松管理成本,帮助提升日常管理效率!
回顾中
热门标签