- 博客(12)
- 收藏
- 关注
原创 2025.2.17学习笔记-队列
在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。
2025-02-17 22:40:51
234
原创 2025.2.5位运算和快速幂
例题:有a个白球,b个黑球,取出两球,若取出2白或2黑则放入 1白球,若1黑1白则放入一个黑球,求最后所剩球的颜色。例:求(a^b)%c. a,b,c都是整数且0<a,c<10^9, 0<b<10^18。例:3^10 = (3^2) ^ 5 = 9 ^ 5。 指数为奇数,乘以底数,再令指数减1。规律:指数为偶数,底数平方,指数除以2。算法复杂度:O(b) ,并未优化。将13用二进制表示:1101。例子:判断一个数是不是2的幂。注:相反数=该数 取反+1。算法复杂度:O(b)
2025-02-16 15:19:22
269
原创 2025.2.2学习笔记-排序
将i左边和右边的数字分别进行如上的排序最后得1 2 4 4 5。下标: 0 1 2 3 4。当i=j时,下标为i左边的数都比它小,右边都比它大。此时数字为 1 2 4 5 4;l:从左往右寻找第一个大于等于中心轴的数字。r:从右往左寻找第一个小于中心轴的数字。j++)记录下i的数字。i++)记录下j的数字。待排序的数字 4 2 4 5 1。选中心轴:mid=(l+r)/2;1<4,则4和1交换。中心轴:随机选择一个数字。变为:1 2 4 5 4。
2025-02-16 00:15:34
168
原创 2025.2.1学习笔记-链表
链表由一系列节点组成。节点在运行时动态生成。每个节点包括两个部分:一个是存储数据元素的数据域 另一个是存储下一个节点地址的指针域.
2025-02-16 00:10:42
499
原创 2025.1.25-set
set<类型名> 变量名;set<int> s;注:要重载运算符int age;//重载运算符 "<"if (age!stu t;t.age = 18;t.age = 28;t.age = 18;it!= st.end();it++)cout <<"年龄: " << (*it).age <<" 姓名: " << (*it).name << endl;
2025-01-25 23:45:47
148
原创 2025.1.22笔记map/multimap
2.定义3.对组容器pairpair可以存储两个元素,也被称作“对组”pair主要的两个成员变量是first和second, first和second可以是任意类型,也可以是自定义的struct类型1.定义2.函数列表3.创建4.访问4.给map赋值5.遍历6.大小和交换 7.删除8.查找和统计 //1.map<int, string>m;m[1] = “张三”;m[2] = “李四”;m[3] = “王五”;map<int, string>::iterator
2025-01-24 01:38:17
904
原创 2025.1.13学习笔记-string容器
从前往后查找,返回第一个找到的位置,若未找到返回-1。:从后往前查找,返回第一个找到的位置,若未找到返回-1。void test07()//获取子串。字符串1大于字符串2返回值大于0;字符串1小于字符串2返回值小于0.注:按照ASCII进行比较。字符串相等返回值等于0;
2025-01-14 01:12:40
181
原创 2025.1.12学习笔记-queue容器
和顺序表一样,顺序队列也必须用一个数组来存放当前队列中的元素。向队列添加数据,从队头从队列中移除数据元素,因此又被称为“先进先出”
2025-01-13 00:16:53
184
原创 2025.1.11学习笔记-栈
/存入的数据int top;//定义栈顶为top}stack;int *data;int top;}stack;int data;stack*next;}stack;s.top()cout << "最后一个入栈的元素" << s.top() << endl;
2025-01-11 17:11:49
1314
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人