C++
文章平均质量分 70
深思沉浮
这个作者很懒,什么都没留下…
展开
-
【算法】学习笔记(二)----快速排序的深入理解
快速排序的深入理解:学习自视频:6-1 快速排序的基本思想_哔哩哔哩_bilibili算法验证:912. 排序数组 - 力扣(LeetCode)减而治之:逐渐缩小解决问题的规模采用随机划分的优点:注意:以上代码过不了全是一样数字的样例。特殊情况:数组中有很多元素值相同,partition前交换元素可能交换前后没有区别,使用随机划分也不能很好的处理由此产生了以下两种快速排序:代码示例:三路快速排序:三路快排有计算机科学家Dijkstra发明三路快排优点:代码示例:循环不变量原创 2023-04-04 21:19:53 · 141 阅读 · 0 评论 -
【C++】学习笔记(十三)----STL中常用算法整理
常用遍历算法for_each、transform常用的查找算法find、find_if、adjacent_find、binary_search、count、cout_if常用的排序算法sort、random_shuffle、merge、reverse常用拷贝和替换算法copy、replace、replace_if、swap常用算术生成算法accumulate、fill常用的集合算法set_intersection、set_union、set_difference原创 2022-10-15 20:09:31 · 413 阅读 · 0 评论 -
【C++】学习笔记(十二)----set和unordered_set、map和unordered_map区别
set、map和unordered_set、unordered_map常见操作的时间复杂度set、map和unordered_set、unordered_map相比而言的优缺点unordered_set、unordered_map注意事项原创 2022-09-20 20:14:13 · 769 阅读 · 0 评论 -
【C++】学习笔记(十一)----函数对象
STL-函数对象函数对象函数对象概念函数对象使用谓词谓词概念一元谓词二元谓词内建函数对象内建函数对象意义算术仿函数关系仿函数逻辑仿函数原创 2022-09-07 21:16:42 · 93 阅读 · 0 评论 -
【C++】学习笔记(十)---- map/multimap容器
map/multimap容器map基本概念map构造和赋值map大小和交换map插入和删除map查找和统计map容器排序原创 2022-09-07 20:54:04 · 179 阅读 · 0 评论 -
【C++】学习笔记(九)---- set/multiset容器和pair对组的创建与使用
set/multiset容器文章目录set/multiset容器set基本概念set构造和赋值set大小和交换set插入和删除set查找和统计set和multiset区别set容器排序pair对组创建与使用容器:set/multiset头文件:#includeset基本概念简介:所有元素都会在插入时自动被排序(从小到大 升序)本质:set/multiset属于关联式容器,底层结构是用二叉树实现。set和multiset区别:set不容许容器中有重复的元素multiset允许容原创 2021-11-03 12:00:00 · 256 阅读 · 0 评论 -
【C++】学习笔记(八)---- list容器
list容器文章目录list容器list基本概念list构造函数list赋值和交换list大小操作list插入和删除list数据存取list反转和排序容器:list头文件:`#includelist基本概念链表(list)是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域STL中的链表是一个双向循环链表由于链表的存储方式并不是连续的内存空间,因此链表l原创 2021-11-02 12:00:00 · 326 阅读 · 0 评论 -
【C++】学习笔记(七)----stack容器和queue容器
文章目录stack容器stack基本概念stack常用接口queue容器queue基本概念stack容器容器:stack头文件:#include<stack>stack基本概念概念:stack是一种先进后出(First Last Out,FILO)的数据结构,它只有一个出口栈中只有顶端的元素才可以被外界使用,因此栈不允许有遍历行为栈中进入数据称为 — 入栈 push栈中弹出数据称为 — 出栈 popstack常用接口构造函数:stack<T> stk;原创 2021-11-01 17:40:49 · 91 阅读 · 0 评论 -
【C++】学习笔记(六)----deque容器
deque容器文章目录deque容器deque容器基本概念deque构造函数deque赋值操作deque大小操作deque插入和删除deque数据存取deque排序容器:deque头文件:#include<deque>deque容器基本概念功能双端数组,可以对头端进行插入删除操作deque与vector区别:vector对于头部的插入删除效率低,数据量越大,效率越低deque相对而言,对头部的插入删除速度会比vector快vector访问元素时的速度会比deque快,这原创 2021-10-28 21:30:24 · 125 阅读 · 0 评论 -
【C++】学习笔记(五)----vector容器
vector文章目录vectorvector使用方法案例vector基本概念vector构造函数vector赋值操作vector容量和大小vector插入和删除vector数据存取vector互换容器vector预留空间容器: verctor迭代器: vector<int>::iterator头文件 #include<vector>vector使用方法案例向容器插入数据v.push_back(10);通过迭代器访问容器中数据起始迭代器意义:指向容原创 2021-10-27 21:07:35 · 114 阅读 · 0 评论 -
【C++】学习笔记(四)----string容器
string文章目录stringstring 构造函数string赋值操作string字符串拼接string查找和替换string字符串比较string字符存取string插入和删除string子串容器:string头文件:#include<string>**string本质上是一个类,类的内部封装了char ,所有string是一个char 型的容器。string 构造函数构造函数原型string(); //创建一个空的字符串 例如:string st原创 2021-10-26 21:05:31 · 113 阅读 · 0 评论 -
【C++】学习笔记(一)----windows.h的一些简单应用
通过对windows.h中的光标的使用可以简单实现控制一个物体的移动,以下代码为控制一个小飞机的移动其中的_getch()函数的作用是从控制台中获取键盘输入的字符。其头文件为conio.h#include<iostream>#include<windows.h>#include<conio.h>using namespace std;void gotoxy(HANDLE hOut, int x, int y){ COORD pos; pos.X = x原创 2021-03-03 21:02:00 · 2805 阅读 · 2 评论 -
【C++】学习笔记(三)----学生管理系统中输入数字的操作替换为为WS上下移动光标
学生管理系统主菜单的操作优化,该优化后的区别在于可以通过键盘上的w和s键来控制程序中的<<的移动。其中_getch()函数功能为获取键盘输入,不同于cin的是cin只能输入一次而_getch()能够输入多次。若键盘没有输入则没有返回值,其头文件为conio.h。#include<iostream>#include <conio.h>using namespace std;void system_menu(int choice){ cout <&l原创 2021-03-04 17:34:55 · 185 阅读 · 1 评论 -
【C++】学习笔记(二)----C++飞机大战
c++飞机大战第一次写博客可能会有一堆毛病请见谅建议:先练习贪吃蛇再练习飞机大战game.cpp文件#include<iostream>#include"Gamemanage.h"using namespace std;int main(){ Gamemanage play; play.game(); return 0;}Gamemanage.h文件#pragma once#include<iostream>using namesp原创 2021-03-03 21:02:27 · 892 阅读 · 1 评论