- 博客(18)
- 收藏
- 关注
原创 C++中vector简介
还可以使用insert()函数在指定的位置插入元素,使用erase()函数删除指定位置的元素。容器大小管理:可以使用size()函数获取vector中元素的数量,可以使用empty()函数检查vector是否为空。begin()和end():返回指向vector第一个元素和最后一个元素之后位置的迭代器。begin()函数获取指向第一个元素的迭代器,使用end()函数获取指向最后一个。例如:vector<int> vec = {2,1,3,2,4,1,5,4}去重之后是{1,2,3,4,5,1,2,4}
2024-12-02 20:18:58
739
原创 C++中stack简介
小tips:如果将一个数组的元素依次放入栈,再依次取出,则可以将数组翻转。stcke是一种后进先出(LIFO)的数据结构。size():返回栈中元素的个数。empty():检查栈是否为空。push(x):在栈顶插入元素。1、stcke的定义和结构。2、stcke的常用函数。top(): 返回栈顶元素。pop():弹出栈顶元素。stake不能遍历!
2024-12-02 19:38:56
234
原创 C++中set的简介
multiset是一种容器,与set类似,用于存储一组数据,并按找一定的规则进行排序。set中的元素是按照升序排序的,默认情况下,它使用元素的比较运算符<来进行排序。当使用erase的时候,如果要将x删除,则会将所有的x删除,如果需要删除一个x。set是一种容器,用于存储唯一的元素,并按照一定的顺序规则进行排序。set的内部使用了红黑树来存储元素,并保持元素的有序性。当插入一个重复的元素时,set会自动忽略该元素。set中的元素是唯一的,即不允许重复的元素存在。用于存储一组唯一的元素,并且没有特定的顺序。
2024-12-02 15:39:52
308
原创 C++中queue简介
默认情况下,priority_queue按照元素的值从大到小进行排序,即最大元素位于队列的前面。与普通队列不同,priority_queue中的元素是按照一定的优先级进行排序的。push_front(x): 在头部插入元素x。size() 返回优先队列中元素的个数。pop() 弹出优先队列中的顶部元素。top() 返回优先队列中的顶部元素。size() 返回队列中元素的个数。push(x) 将元素x插入到优先队列中。size():返回deque中元素的个数。
2024-12-02 13:50:10
470
原创 C++中pair简介
pair类还有一些成员函数和特性,比如默认构造函数、带参数的构造函数、比较运算符重载等。pair可以进行嵌套,也就是说可以将一个pair对象作为另一个pair对象的成员。pair类有两个成员变量,first和second,分别表示第一个值和第二个值。使用pair类,你可以方便地将两个值组合在一起,并进行传递、存储和操作。通过嵌套pair,你可以方便地组合多个值,并形成更复杂的数据结构。在C++中,pair是一个模板类,用于表示一对值的组合。pair自带的排序规则是按照first成员进行升序排列。
2024-12-02 12:48:09
700
原创 C++中map简介
map容器使用红黑树(Red-Black Tree)数据结构来实现,具有较快的插入、删除和查找操作的时间复杂度。map是一种关联容器,用于存储一组键值对,其中每个键都是唯一的。map容器根据键来自动进行排序,并且可以通过键快速查找相应的值。upper_bound:返回指向第一个大于指定指定键的元素位置。lower_bound:返回指向第一个不小于指定键的元素位置。count:统计元素个数,常用于判断某个元素是否存在。begin:返回指向容器起始位置的迭代器。end:返回指向容器末尾位置的迭代器。
2024-12-01 23:13:54
203
1
原创 list容器简介
list容器提供了一系列成员函数和迭代器来操作和访问链表中的元素,包括插入、删除、3、不连续存储:链表中的结点可以在内存中的任意位置分布,不要求连续存储,因此插。13、erase():从链表中移除指定位置的一个或多个元素。11、end():返回指向链表末尾的下一个位置的迭代器。2、push_front():将元素插入到链表的开头。1、push_back():将元素插入到链表的末尾。8、front():返回链表中第一个元素的引用。9、bakc():返回链表中最后一个元素的引用。
2024-11-30 15:07:03
240
原创 大小写转换
/例题,把字符串中的大写转换成小写,小写转换成大写,其他不变。可以将ch转化为大写或者小写字母。如果不是,则保留原来的。用于检查一个字符是否为小写字母或者大写字母。把char看成一个数字,c-32 = C。1、islower isupper函数。2、tolower toupper函数。函数返回值为bool类型。ASCII有128个字符。a-z 是97-122。0-9 是48-57。A-Z 是65-90。
2024-11-30 14:16:35
286
原创 最大(小)值查找
用 *min_element(v.begin(),v.end())或者*min_element(a,a+4)即可获得向量或者数组中的最值。min_element(st,ed)返回地址[st,ed)中最小的那个值的地址(迭代器)min(a,b)返回a和b中较小的那个值,只能传入两个值,或者传入一个列表。例如:min(3,5) = 3 min([1,2,3,4]) = 4。其他位置元素的顺序可能是任意的,但前面的都比它小,后面的都比它大。2、min_element和max_element。
2024-11-30 14:15:28
234
原创 计算全排列
与上一个函数相反,用于生成当前序列的上一个排序。如果存在 返回true,否则返回false。则将当前序列更改为下一个排列,并返回true;如果当前序列已经是最后一个排列,则将序列。用于生成当前排序的下一个排列。它按照字典序对序列进行重新排列,如果存在下一个排列,1、next_permutation()函数。2、prev_permutation()函数。更改为第一个排列,并返回false。
2024-11-30 14:13:53
210
原创 memset() 、swap()、reverse()、unique()
unique()函数将 [first,last)范围内的重复元素取出,并返回一个指向去重后范围的尾后迭代器。去重后的范围中只保留了第一个出现的元素,后续重复的元素都被移除 ---放到最后面,而不是删除。mement()函数将ptr指向的内存块的前num个字节设置为value的值。last:指向容器中要反转的最后一个元素的下一个位置的迭代器。last:指向容器中要反转的最后一个元素的下一个位置的迭代器。变量的值赋值给第一个变量,最后将临时变量的值赋给第二个变量,
2024-11-30 14:12:00
351
原创 sort排序
sort(起始地址,结束地址的下一位,*比较函数)---比较函数可以写可以不写。sort是C++标准库中的一个函数模板,用与对指定范围内的元素进行排序。sort函数包含在头文件<algorithe>中,或使用万能头文件。sort算法使用的是快速排序,或者类似快速排序的改进算法。具有较好的平均时间复杂度,一般为O(nlogn)不写比较函数,默认用小于号,即升序。可以自己写函数,也可以写匿名函数。
2024-11-30 13:31:45
197
原创 二分查找(函数)
lower_bound和upper_bound ---找到第一个遇到的(lower_bound),找到最后一个遇到的(upper_bound)如果需要获取找到的元素的位置,可以使用 lower_bound和upper_bound。binary_search是C++标准库中的一个算法函数,用于在已排序的序列中。lower_bound和upper_bound 返回的是地址。对一个数组进行二分查找的前提是这个数组中的元素是单调的。函数返回一个bool值,表示目标元素是否存在与序列中。
2024-11-30 13:24:49
245
原创 C++/C语言输入输出
/笔记:int ->%d double->%lf char->%c char[]->%s long long->%lld。//主义,%s遇到空格或者回车就会停下。//s本身就是一个指针,就不需要&* printf("%.3f",a);//s表示数组的首地址。* 一般而言不用float 用double。* 分析4份代码示例,1道例题。
2024-11-30 13:19:45
317
原创 String基本操作
string与char不同,string实现了高度的封装,可以很方便完成。* 使用string库需要在头文件中包括该库#include* 各种字符串的操作,比如拼接、截取、匹配等等。* string的声明与初始化。* string简介。
2024-11-30 13:18:13
155
原创 二分查找C++算法实现
给定一个按照升序排序排列的长度为n的整数数组,以及q个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组不存在该元素,则返回“-1-1”。第二行包含n个整数(均在1~10000范围内),表示完整数组。共q行,每行包含两个整数,表示所求元素的起始位置和终止位置。接下来q行,每行包含一个整数k,表示一个询问元素。第一行包含整数n和q,表示数组长度和询问个数。如果数组中不存在该元素,则返回“-1-1”.
2024-02-01 15:51:22
390
1
原创 归并排序C++算法实现
给定一个长度为n的整数数列,请你使用归并排序对这个数列按照从小到大进行排序,并将排好序的数列按顺序输出。第二行包含n个整数(所有整数均在1~1e9范围内),表示整个数列。输出共一行,包含n个整数,表示排序好之后的数。第二部:递归排序,left和right。输入共两行,第一行包含整数n。第一步:找到中值,确定分界点。第三步:归并,合二为一。
2024-01-29 17:27:12
220
原创 快速排序C++算法实现
给定一个长度为n的整数数列,请你使用快速排序对这个数列按照从小到大进行排序,并将排好序的数列按顺序输出。输出共一行,包含n个整数,表示排序好之后的数。第二行包含n个整数(所有整数均在。输入共两行,第一行包含整数n。范围内),表示整个数列。
2024-01-29 12:18:18
209
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅