C++小知识
C++工作室
一个普普通通的C语言程序园
展开
-
【C++干货系列】数组专栏
数组,就是一堆变量组合起来,定义方式:int a[ 9 ];这里我们定义了一个长度为9的数组a数组a[0]a[1]a[2]a[3]a[4]a[5]a[6]a[7]a[8]新手常犯错误1:数组越界比如想开一个长为9的数组,写int a[9]是不够的,最大下标只到8,于是数组就越界了解决办法开的时候长度+1就可以了新手常犯错误2:忘加分号数组末尾一定记得加;原创 2024-05-05 15:04:16 · 1002 阅读 · 0 评论 -
【C/C++】五子棋自动对战AI
这个是C/C++版本,如果各位有需求我可以改成别的版本发。哈喽啊,今天给大家带来五子棋自动对战AI。如果喜欢记得关注原创 2024-05-05 14:48:56 · 382 阅读 · 0 评论 -
C++广度优先搜索来啦!
岔路口:以下为x轴正方向,以右为y轴正方向建立坐标,8个岔路口表示为:(x + 1 , y - 2)(x + 2 , y - 1) (x + 2, y + 1) (x - 1 , y + 2)(x + 1 , y + 2)(x - 2 , y - 1) (x - 2 , y + 1) (x - 1 , y - 2).岔路口:(x + 1 , y)(x - 1 , y) (x , y + 1) (x , y - 1)(x + 2 , y)(x - 2 , y) (x , y + 2) (x , y - 2)原创 2024-01-20 19:02:04 · 714 阅读 · 0 评论 -
算法:桶排序&箱排序
桶排序占用空间小,但是有致命问题。定义:收集每个字符出现次数。原创 2023-12-16 14:21:03 · 374 阅读 · 1 评论 -
链表详解——包会
使用单向环形链表解决Josephu问题,用不带头结点的单向循环链表先构成一个有n个节点的链表,然后由k节点起从1开始计数,直到第m时,对应节点删除,然后从被删除的下一个节点开始从1开始计数,直到最后一个节点被删除结束算法。例如N=6,M=5,被杀掉的顺序是:5,4,6,2,3。System.out.printf("没有找到 编号 %d 的节点,不能修改\n", newHeroNode.no);System.out.printf("第%d人被杀\n", first.getNo());// curBoy后移。原创 2024-05-01 21:31:21 · 150 阅读 · 0 评论 -
C++for循环
【代码】C++for循环。原创 2023-12-11 19:19:22 · 390 阅读 · 1 评论 -
C++遍历讲解
这四种遍历对我来说用的最多的还是第二种和第四种,现在接触编程时间还是比较短,认识可能也有不足,这里罗列了四种遍历方式,希望都可以学习一下,当然还有while循环,这里没有什么可比性;毕竟是比较新的遍历形式,所在遍历容器的时候能用该形式就用该形式,但是这个和第二种遍历也有一点不同,如果需要对下标进行操作,那么这个形式就不怎么方便了;1 调用 vec.size()会有效率的问题,这个很多刚接触c++的都不知道,其实编译器是有优化的,但是优化多少并不清楚,性能还是有损耗的。原创 2024-01-23 17:46:19 · 541 阅读 · 1 评论 -
string字符串
大写转小写:ASCII+32(小写转大写-32)sort:按ASCII排序。string:建立字符串。原创 2023-12-11 19:25:38 · 427 阅读 · 1 评论 -
C++快速排序详解!
因为在最后一个循环时,若是q向左走,撞上了p,p此时指向的元素是上一个循环结束后交换的值,这个值比key小。若是p向右走,撞上了q,那么在这个循环,q先走,并且q停下来了,所以q的位置是一个比key小的值。若让左边的p先走,则可能在最后交换key的步骤将一个大于key的值交换到最左边。其单趟排序的思路是:取区间中最左或最右边的元素为key,定义两个变量,这里假设是p和q,q从区间的最右边向左走,找到比key小的元素就停下。可以看出,经过pq的不断交换,比key小的值换到了左边,比key大的值换到了右边。原创 2023-12-16 14:45:41 · 333 阅读 · 2 评论 -
C++详细从入门到精通
C++是一种面向对象的编程语言,它继承了C语言的基本语法和数据类型,并增加了许多新的特性。在本章中,我们将介绍C++的基础语法和数据类型,包括变量、常量、运算符、控制语句等。本文将为读者提供一份超详细、超完整的C++教程,帮助初学者掌握C++的基础知识,同时给出十个实例,并一一解释分析。在本章中,我们将介绍C++的基础语法和数据类型,包括变量、常量、运算符、控制语句等。cout原创 2024-03-27 10:04:23 · 838 阅读 · 0 评论 -
C++经典练习题
农夫和牛都位于数轴上,农夫起始位于点N(0≤N≤100000),牛位于点K(0≤K≤100000)。农夫有两种移动方式:1、从X移动到X−1或X+1,每次移动花费一分钟2、从X移动到2×X,每次移动花费一分钟。酱油10块钱一瓶,商家进行促销,每买3瓶送1瓶,或者每买5瓶送2瓶。把80元分成30元和50元,分别买3瓶和5瓶,其中3瓶送1瓶,5瓶送2瓶,共得到11瓶。把40元分成30元和10元,分别买3瓶和1瓶,其中3瓶送1瓶,共得到5瓶。输出仅一行,甲流死亡率,以百分数形式输出,精确到小数点后3位。原创 2024-04-18 19:14:58 · 856 阅读 · 2 评论 -
C++输入输出模板
【代码】C++输入输出模板。原创 2023-12-09 16:06:36 · 401 阅读 · 0 评论 -
深度优先搜索C++详解来啦
这里呢,我先用vector存储每一步的路径,因为在运行时你是不确定它是否可以到达终点的,所以每一步都要存储,二维坐标系(x, y)所以需要结构体 node 搭配 vector十分的完美,print函数有一个细节大家要注意一下,在样例输入中,我们可以发现在每一条路径的结尾是没有箭头“->”的,所以要有一个小 if 判断一下,不然很有可能爆0的哦!深度优先搜索,简称“深搜”,DFS,主要用于无向无权简单图的搜索工作,与广度优先搜索并称两大优先搜索算法,可以使用栈,也可以递归实现,数据量大用栈,小就用递归。原创 2023-12-23 14:39:50 · 1911 阅读 · 1 评论 -
C++循环还能这么玩?!
这时候,有些人说了:for无限循环咋办?中间那2个分号一个也别去,否则会报错。今天,我们就是来玩循环的。老规矩,先上老套代码。除了这个,还有更花的。原创 2024-04-13 20:17:22 · 140 阅读 · 0 评论 -
【C++生动有趣小课堂】结构体
而且这里食物还贼贵,牛奶100元一盒,面包110元一个(估计别人看见这个价格就得叫110了)而input函数我们可以理解为一个机器,输入可以理解成让这个机器运转,这时候就需要零件了。现在有个大冤种来这个超市买东西,他买了m盒牛奶,b个面包,问他花了多少钱。上面的代码我们定义了一个叫food的结构体,里面有两个整形变量。某屑超市开业了(还是个食品超市)里面只有两种食物。那刚才food里两个整型变量就是两个int型零件。比如结构体是一个快递箱,里面有各种零件。emm,很明显,不能吃;不过我们可以用它定义吃的。原创 2024-04-25 19:45:57 · 250 阅读 · 1 评论 -
c++秘籍
字面常量:直接在代码中写入的常量值,如整数常量、浮点数常量、字符常量等。例如:// 整数常量// 浮点数常量// 字符常量常量变量:通过关键字const定义的常量。常量变量在定义时必须进行初始化,并且不能再修改其值。例如:// 定义一个名为MAX_VALUE的常量变量,值为100常量的使用可以提高程序的可读性和维护性,同时还可以防止意外的数据修改。总结起来,变量和常量是C++编程中不可或缺的基本概念。通过合理使用变量和常量,我们可以存储和操作程序中的数据。原创 2024-04-25 20:40:55 · 1040 阅读 · 1 评论