C++
文章平均质量分 82
记录所学,常来复习
&不逝
热爱编程的大二学生一枚
展开
-
位运算对字母大小写的转换
位运算对字母大小写的转换先定义一个字符 char c; 以下讨论默认 c 为字母我们知道小写字母的ASCII值比其大写字母的大32,因此我们通常采取下面两种方式转换字母大小写c = c + 32; 把大写字母转换为小写c = c - 32; 把小写字母转换为大写我们要把 c 转换为大写字母,如果一开始我们不知道 c 为大写还是小写,要对其转换的话,我们通常需要一个 if 语句判断一下 c 的大小写 如:if(c>='a'&&c<='z') 或者if(islower(原创 2022-01-12 10:57:27 · 2421 阅读 · 4 评论 -
【万字总结篇】C++STL常用算法详解(错等年系列)
目录STL常用算法常用遍历算法for_eachtransform常用查找算法findfind_ifadjacent_findbinary_findcountcount_ifSTL常用算法C++STL中的内置算法主要在头文件<algorithm>、<functional>、<numeric>中<algorithm>是所有STL头文件中最大的一个,也是包含算法最多,最常用的一个头文件,其中包含比较、交换、查找、遍历、复制、修改等算法<numeric原创 2021-11-29 18:27:22 · 6277 阅读 · 66 评论 -
C++STL函数对象详解
函数对象概念及使用计算机语言中的谓词内建函数对象算术仿函数关系仿函数逻辑仿函数概念及使用函数对象的概念:重载函数调用操作符()的类,其对象常称为函数对象函数对象使用重载的()时,行为类似函数调用,因此也叫仿函数本质:函数对象(仿函数)是一个类,而不是一个函数使用:函数对象可以像普通函数那样调用,可以有参数和返回值函数对象超出普通函数之处是,函数对象可以有自己的状态(就是对象的成员变量)函数对象可以作为参数传递下面我们从一个简单的例子里,了解函数对象的具体使用#include&l原创 2021-11-26 11:56:34 · 1486 阅读 · 11 评论 -
《结构体在内存中的对齐规则》多图易理解
结构体在内存中的对齐规则引子结构体的存储规则总览对规则1和规则2的运用对规则3的应用引子在了解结构体对齐规则之前,我们先来看一个例子例1:#include<iostream>using namespace std;struct Sut1{ char c; short st; int num;}Sut1;int main(){ cout << "sizeof(char) = " << sizeof(char) << endl; co原创 2021-11-20 21:36:55 · 1405 阅读 · 45 评论 -
C++ 迭代器(iterator)超详解+实例演练
C++ STL 迭代器详解一级目录二级目录三级目录一级目录二级目录三级目录原创 2021-11-13 10:00:41 · 44011 阅读 · 3 评论 -
C++字符函数库 cctype
C++字符函数库 cctype简述库内函数目录简述C++从C语言中继承了一个与字符相关的函数库,它可以确定字符是否为大写字母、数字、标点符号等工作,这些函数包含在以下头文件中#include<cctype>库内函数我们先定义一个字符 char c;isalnum(c);如果括号内参数是字母或数字,函数就返回true,否则返回false。isalpha(c);如果参数是字母,函数返回true, 否则返回false。iscntrl(c);如果参数是控制字符,函数返回true。原创 2021-11-16 13:38:01 · 1547 阅读 · 4 评论 -
C++ STL string容器超详解(已优化)
string容器1.string的基本概念2.string的构造函数3.string的赋值操作3.string字符串的拼接4.string查找与替换5.string的比较6.string的存取7.string的插入和删除8.string的子串1.string的基本概念概念:string是c++中的字符串类型,相当于C语言中的char *,其本质是一个封装好的类string和char*的区别:char* 是一个指针string是一个内部封装了char* 的类,用来管理这个字符串,是一个char*型原创 2021-11-18 17:35:13 · 2691 阅读 · 4 评论 -
C++ vector容器详解
C++ vector容器详解目录vector容器的基本概念1.vector的构造函数2.vector的赋值操作3.vector的容量与大小4.vector的插入和删除5.vector数据存取6.vector互换容器7.vector预留空间写在最后目录vector容器的基本概念功能:vector容器的功能和数组非常相似,使用时可以把它看成一个数组vector和普通数组的区别:1.数组是静态的,长度不可改变,而vector可以动态扩展,增加长度2.数组内数据通常存储在栈上,而vector中数原创 2021-10-29 07:14:03 · 74300 阅读 · 25 评论 -
C++ deque容器详解
C++ deque容器详解deque容器基本概念1.deque的构造函数2.deque的赋值操作3.deque的大小操作4.deque的插入和删除5.deque的数据存取deque容器基本概念功能:它是一个双端数组,也就是数据结构中的队列,可以对头端和尾端进行插入和删除操作deque和vector的区别:deque对于头部的插入和删除效率比vector高vector访问元素时速度比deque快,这和两者的内部实现有关deque内部工作原理:deque内部有个中控器,维护每段缓冲区中原创 2021-10-29 21:25:30 · 1341 阅读 · 0 评论 -
C++ list容器详解
C++ list容器list容器的基本概念1.list的构造函数2.list的赋值和交换3.list的大小操作4.list的插入和删除5.list的数据存取6.list的反转与排序7.list的排序案例list容器的基本概念概念:list一种将数据进行链式存储的数据结构,被称为链表链表:是一种物理存储单元上非连续的存储结构,数据元素的逻辑顺序是通过链表中的指针链接实现的链表的组成:链表由一系列结点组成结点的组成:由一个存储数据元素的数据域和一个存储下一个结点地址的指针域组成优点:可原创 2021-10-31 07:10:15 · 5186 阅读 · 0 评论 -
C++ stack容器详解
C++ stack容器stack容器的基本概念stack的常用接口1.构造函数2.赋值操作3.数据存取4.大小操作测试:stack容器的基本概念stack是一种先进先出的数据结构,被称为栈,它只有一端可以出入。栈中进入数据称为——入栈(push)栈中弹出数据称为——出栈(pop)注意:栈可以判断是否为空,也可以返回栈中元素个数,但栈不允许有遍历行为使用stack容器必须包含头文件#include< stack >stack的常用接口1.构造函数stack st原创 2021-10-30 08:53:09 · 4215 阅读 · 4 评论 -
C++ queue容器详解
C++ queue容器queue容器的基本概念deque的常用接口1.构造函数2.赋值操作3.数据存取:4.大小操作:测试queue容器的基本概念概念:queue是一种先进先出的数据结构,被称为队列,它的一端为入口,另一端为出口队列中进数据称为——入队(push)队列中出数据称为——出队(pop)队列容器允许从一端添加元素,从另一端删除元素队列中只有队头和队尾才可以被外界使用,因此队列不允许有遍历行为使用deque需要包含头文件#include< deque >原创 2021-10-30 08:56:33 · 2803 阅读 · 0 评论 -
C++ STL set容器详解
C++ set容器set/multiset容器的概念1.set的构造和赋值2.set的大小和交换3.set的插入和删除4.set的查找和统计5.set和multiset的区别6.pair对组的创建7.set容器的排序规则set/multiset容器的概念特点:所有元素都会在插入时自动被排序本质:set/multiset属于关联式容器,底层结构是用二叉树实现的set和multiset的区别:set不允许容器中有重复的元素multiset允许容器中有重复的元素注意:使用set或multis原创 2021-11-12 16:07:08 · 2860 阅读 · 4 评论 -
C++ map/multimap容器超详解
C++ map/multimap容器详解pair对组map的基本概念map的构造和赋值map的大小和交换map的插入和删除map的查找和统计map容器的排序规则pair对组在学习map之前我们先了解一下pair对组,因为map中的基本元素就是对组pair。pair是将2个数据组合成一组数据,当一个函数需要返回2个数据的时候,就可以选择pairpair的实现是一个结构体,主要的两个成员变量first和second,分别存储两个数据pair的创建:pair<T1,T2>原创 2021-11-13 19:45:57 · 2517 阅读 · 4 评论 -
C++STL案例之评委打分
评委打分案例一、案例描述二、实现步骤1.创建选手类2.存储选手对象3.得到平均分4.打印平均分三、源码汇总四、测试结果一、案例描述有n名选手,10个评委分别对每一名选手打分,去掉最高分和最低分,然后求平均分二、实现步骤具体流程:先创建一个选手类利用vector容器存储n个选手对象 (1)利用用随机数随机10个评委打分,并用deque保存打分 (2)对deque容器内分数排序,然后删除第一个和最后一个分数 (3)求deque中剩余分数的平均分并存储到vector容器中原创 2021-10-30 08:45:17 · 648 阅读 · 1 评论 -
100行代码实现英语四六级高频单词的统计
一个程序实现英语四六级高频单词的统计写在前面过程描述单词类的创建二级目录写在前面英语四六级考试快到了,相信很多同学只想背一些高频单词,如何知道哪些是高频单词呢,大多数同学都会在网上搜索一通,但自己也不确定搜到的就是高频单词,因此,我想编写一个程序让电脑帮我们统计高频单词,只要给出足够多的英语四六级文章,这样统计出的结果一定会很准确的这个程序我是用C++编写的,如果你还不会C++也没关系,可以看看其中思路,那么让我们来看看具体实现过程吧过程描述1.创建一个单词类,用于存储某个单词及其出现的次数原创 2021-11-05 21:10:14 · 809 阅读 · 0 评论