C++
文章平均质量分 69
C++学习记录
yangSHU21
这个作者很懒,什么都没留下…
展开
-
C++面试知识点总结
<符号表示该语句将把这个字符串发送给cout;该符号指出了信息流动的路径;cout的对象属性包括一个插入运算符(<<),它可以将其右侧的信息插入到流中endl:重起一行。在输出流中插入endl将导致光标移动到下一行开头,它确保程序继续运行前刷新输出(将其立即显示在屏幕上)空格、制表符、回车统称为空白,volatile 可以保证对特殊地址的稳定访问抽象和类。类是一种将抽象转换为用户定义类型的C++工具,它将数据表示和操纵数据的方法合成一个整洁的包。原创 2023-09-04 15:09:58 · 1040 阅读 · 0 评论 -
c/c++中,预编译指令用法汇总
切换模式写文章登录/注册。转载 2023-08-21 14:44:21 · 224 阅读 · 0 评论 -
C++实现冒泡排序
冒泡排序就是通过比较相邻元素大小,利用比较来交换元素位置,通过重复的循环访问数组,直到没有可以交换的元素,那么整个排序就已经完成了。比较位置④和位置⑤的元素,9>6,则交换位置。比较位置①和位置②的元素,2<5,不交换位置。比较位置②和位置③的元素,5<7,不交换位置。比较位置①和位置②的元素,2<5,不交换位置。比较位置②和位置③的元素,9>5,则交换位置。比较位置③和位置④的元素,9>7,则交换位置。比较位置③和位置④的元素,7>6,则交换位置。比较位置②和位置③的元素,5<6,不交换位置。原创 2023-04-23 12:36:58 · 160 阅读 · 0 评论 -
C++的输出显示设置,设置显示精度、宽度等
setbase(n) 设置整数为n进制(n=8,10,16)setiosflags(ios::uppercase) 在以科学计数法输出E与十六进制输出X以大写输出,否则小写。setiosflags(ios::scientific) 设置浮点数以科学计数法表示。这里涉及到怎样对输出流进行相应的设置,所以要用到<iomanip>头文件,这里对这个头文件进行简单介绍。设置浮点数的有效数字为n位。原创 2023-05-01 15:23:58 · 1493 阅读 · 0 评论 -
C++怎样用cin连续输入并存储到vector中
window下按ctrl+z结束输入,或者输入一个不符合需要输入类型的字符也可以结束输入。原创 2023-05-01 15:25:26 · 1033 阅读 · 0 评论 -
C++实现插入排序
用变量temp临时存放每一次需要排序的元素,每一次判断条件就是看temp与前一个元素a[j-1]的大小关系(假设需要从小到大排列元素),此时13>temp=4,需要交换两者的顺序,此时令 a[j] = a[j - 1], 即让原来的 j - 1项往后移一位,然后 j-- 让 j 继续枚举前面的数;a[j-1]>temp,将a[j-1]的值赋给a[j]a[j-1]>temp,将a[j-1]的值赋给a[j]a[j-1]>temp,将a[j-1]赋给a[j],a[j-1]>temp,将a[j-1]赋给a[j],原创 2023-04-24 10:51:10 · 98 阅读 · 0 评论 -
C++实现桶排序
桶排序就是依据某种方法,或者某种规则先划分出若干个桶,然后根据一定的规则把数据放到相应的桶内,再让桶内的元素排序(一般每个桶内的元素数量有限,因此可以选取各种排序方法),最后再把所有桶的元素合并。桶排序的适用场景就是当数据分布比较均匀或者数据跨度范围不大的时候。现在对每个桶内的元素单独进行排序,完成后并合并这些排序后的元素。原创 2023-04-26 16:50:55 · 726 阅读 · 0 评论 -
algostuff.h
【代码】algostuff.h。原创 2023-04-27 10:51:49 · 82 阅读 · 0 评论 -
C++实现快速排序
然后还需定义两个“哨兵” i , j。确定两个“哨兵”的位置后,首先让哨兵 j 向左运动 ,每次走一步,直到碰见比基准数12小的数并停在那个位置,在这里哨兵 j 首先碰见元素9 ,小于基准数12,遂停在那里,哨兵 i 继续向右走寻找比基准数12大的值,注意它走着走着还没找到比12大的元素,就在元素6处碰到了哨兵 j,这两个哨兵 i 和 j 相遇后,互相告知了自己一路走来的情况。现在的基准元素是9,仍然是哨兵 j 先向左边走,寻找比基准元素9小的元素,但是刚出门就碰到了哨兵 i ,交换元素。原创 2023-04-24 22:00:36 · 83 阅读 · 0 评论 -
C++实现计数排序
1.计数排序基于一个假设,待排序数列的所有数均为整数,而且出现在(0,k)区间之内,如果区间右端点k太大,导致整个区间范围很广的话,这种方法就会引起很大的空间复杂度。找到了之后我们创建一个新的数组C ,这个数组的大小为(max+1),每个元素的值都为0,在这里就是说新创建的数组有(7+1=8)个元素,每个元素都是0。3.计数排序统计<=该元素值的元素的个数i,于是该元素就放在目标元素的索引位置i处。2.统计数组中每个值为i的元素出现的次数,存入数组C的第i 项。让数组A的元素值作为数组C中元素的索引值。原创 2023-04-25 20:22:23 · 238 阅读 · 0 评论 -
C++实现选择排序
选择排序是每一次从待排序的数据元素中找出最小的(或最大的)一个元素,放在序列的起始位置,然后,再从剩余元素中继续寻找最小(大)的元素,依次放在已排序序列的末尾,最终实现排序。比较位置①和位置⑤元素的大小,2原创 2023-04-23 12:38:11 · 201 阅读 · 0 评论 -
两数之和 C++实现(力扣题目1)
当你查找时,也是根据这个哈希算法来的,将你要查找的数据进行计算,得出一个地址,这个地址会映射到集合当中的位置,这样就能直接去这个位置找了,而不需要像数组那样,一个一个去遍历比对查找。暴力法的流程思想就是上面这样的,两两相加看它们的和是否等于target,但是我们可以仔细看一看,这样其实是有重复运算的,比如【第一轮的①和第二轮的①】运算结果是一样的,两者对最后我们要求解的结果的影响是一样的,无非返回结果是[0,1],[1,0]顺序不同而已。由于存取过程采用的是同一个y函数,因此结果当然也是相同的。原创 2023-05-22 22:17:46 · 1824 阅读 · 1 评论 -
C++实现二分查找(力扣题目704)
如果数组中下标为i的元素等于target,就返回i;如果target在数组中,二分查找就可以找到target,并返回target在数组中的下标。当然了这样能做出来,而且得到的结果肯定是正确的,但是假如数组中的元素特别多,有100万个元素,而恰好我们要找的target是第999999个,这样用遍历匹配的方法就会非常耗时。题目要求:给定一个n个元素的(升序)整型数组nums和一个目标值target,写一个函数搜索nums中的target,如果目标值存在返回下标,否则返回-1。我们把它放在vs里面测试一下。原创 2023-05-08 22:16:49 · 385 阅读 · 0 评论 -
二分查找的两种形式(C++实现)
int类型的整数能够表示的最大数字是2147483647 ,假如在运行过程中,left不断逼近right,直到left和right两个数都接近2147483647,他们两个再相加结果就会溢出,会变成负数,所以改用mid=(right-left)/2+left。这句代码应该很好理解,当nums[mid]==target,就是说如果mid位置处的值恰好等于我们要找的target,那直接返回mid就可以了,后面的缩小区间再查找就不用执行了,因为数组是升序的而且元素不重复,说明只有一个位置处的值等于target。原创 2023-05-09 11:07:40 · 625 阅读 · 1 评论 -
C++ 学习记录(一)
为把信息存储在计算机中,程序必须记录三个基本属性:1)信息将存储在哪里;2)要存储什么值;3)存储何种类型的信息;变量名的声明需要遵循几种简单的命名规则:1)在名称中只能使用字母字符、数字、下划线;2)名称的第一个字符不能是数字;3)区分大写字符和小写字符;4)不能将C++关键字用作名称为变量初始化有两种方式,一种是沿袭自c语言用“=”进行赋值初始化,如果对象属于内置类型或者对象可以使用单一值进行初始化,这种方式就没有问题。比如int x=5;原创 2023-04-11 22:16:15 · 93 阅读 · 1 评论