c++
# c++
943802606
这个作者很懒,什么都没留下…
展开
-
vector
C++ vector容器用法vector容器基本内涵vector声明(构造函数)vector赋值vectord容量和大小vector插入和删除vector数据存取vector预留空间vector互换容器vector容器基本内涵vector数据结构和数组非常相似,也称为单端数组vector与普通数组区别 在于数组是静态空间,而vector可以动态扩展动态扩展:并不是在原空间之后续接新空间,而是找更大的内存空间,然后将原数据拷贝新空间,释放原空间vector声明(构造函数)ve原创 2021-01-27 16:54:50 · 171 阅读 · 0 评论 -
c语言函数库——ispunct函数 判断字符是否为标点符号或特殊字符
c语言函数库——ispunct函数 判断字符是否为标点符号或特殊字符头文件:#inlude <ctype.h>spunct() 函数用来检测一个字符是否为标点符号或特殊字符,其原型为:int ispunct(int c);【参数】c 为需要检测的字符。【返回值】若 c 为标点符号或特殊符号(非空格、非数字和非英文字母)返回非 0 值,否则返回 0。#include<bits/stdc++.h>using namespace std;int main(){ int原创 2021-03-06 16:43:09 · 1664 阅读 · 0 评论 -
c++STL中的find()函数 有两种使用方法
STL的find函数的输入查找范围参数都是指针或是迭代器,返回的也是指针或是迭代器:需要注意的是,find(start,end,xxx),end是不在查找范围的,因此常常使用返回是否等于end来判断是否查找成功1.数组的STL find查找:int res[5] = { 0,1,2,3,4 }; int *pos = find(res, res + 5, 5); //这里的查找范围是指针 //res+5不在查找范围内 if (pos == (res + 5)) cout <<原创 2021-01-28 11:06:31 · 17728 阅读 · 0 评论 -
c++STL的反向迭代器
反向迭代器反向迭代器是一种反向遍历容器的迭代器。也就是,从最后一个元素到第一个元素遍历容器。反向迭代器将自增(和自减)的含义反过来了:对于反向迭代器,++ 运算将访问前一个元素,而 – 运算则访问下一个元素。begin和end成员begin和end操作产生指向容器内第一个元素和最后一个元素的下一个位置的迭代器,如下所示。这两个迭代器通常用于标记包含容器中所有元素的迭代范围。c.begin() 返回一个迭代器,它指向容器c的第一个元素c.end() 返回一个迭代器,它指向容器c的最后一个元素的下一原创 2021-01-31 14:20:56 · 270 阅读 · 0 评论 -
c++的输入和输出
输入/输出流的成员函数put()函数put函数常用的调用形式:cout.put(char ch);功能:用于输出一个字符,还可以是ASCII代码(或者是ASCII表达式)cout.put(65);get()函数常用形式为:cin.get(ch);功能:是从输入流中读取一个字符包括空白符,赋给字符变量ch如果读取成功则函数返回非0值,如果失败(遇文件结束符EOF)则函数返回0值#include<iostream>using namespace std;int main(.原创 2021-01-10 18:05:38 · 929 阅读 · 1 评论 -
c++的assert函数
assert宏的原型定义在<assert.h>中,其作用是如果它的条件返回错误,则终止程序执行,原型定义:#include <assert.h>void assert( int expression );assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息...原创 2021-01-31 13:18:24 · 131 阅读 · 0 评论 -
c++随机数函数rand()
c 语言rand()生成随机数c语言中rand()函数生成随机数的用法:详细介绍:(1)使用该函数首先应在开头包含头文件stdlib.h#include<stdlib.h>(C++建议使用#include,下同)(2)在标准的C库中函数rand()可以生成0~RAND_MAX之间的一个随机数,其中RAND_MAX 是stdlib.h 中定义的一个整数,它与系统有关。(3)rand()函数没有输入参数,直接通过表达式rand()来引用;例如可以用下面的语句来打印两个随机数:print原创 2021-03-08 20:02:38 · 2056 阅读 · 0 评论 -
c++——优先队列(priority_queue)
优先队列详解/C++优先队列1.概念:什么是优先队列呢?在优先队列中,元素被赋予优先级,当访问元素时,具有最高级优先级的元素先被访问 .即优先队列具有最高级先出的行为特征。它可以说是队列和排序的完美结合体,不仅可以存储数据,还可以将这些数据按照我们设定的规则进行排序。2.定义:优先队列在头文件#include 中;其声明格式为:priority_queue ans;//声明一个名为ans的整形的优先队列3.支持的操作:q.empty() //如果队列为空,则返回true,否则返原创 2021-03-17 21:07:10 · 5458 阅读 · 1 评论 -
c++的unique函数
在STL中unique函数是一个去重函数, unique的功能是去除相邻的重复元素(只保留一个),其实它并不真正把重复的元素删除,是把重复的元素移到后面去了,然后依然保存到了原数组中,然后 返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。注意,words的大小并没有改变,依然保存着10个元素;只是这些元素的顺序改变了。调用unique“删除”了相邻的重复值。给“删除”加上引号是因为unique实际上并没有删除任何元素,而是将无重复的元素复制到序列的前段,原创 2021-01-31 13:13:40 · 385 阅读 · 0 评论 -
c++的STL
STL,英文全称 standard template library,中文可译为标准模板库或者泛型库,其包含有大量的模板类和模板函数,是 C++ 提供的一个基础模板的集合,用于完成诸如输入/输出、数学计算等功能。泛型编程指编写完全一般化并可重复使用的算法,其效率与针对某特定数据类型而设计的算法相同。所谓泛型,是指具有在多种数据类型上皆可操作的含意,在 C++ 中实际上就是使用模板实现。表 1 vector 容器的成员函数函数成员 函数功能begin() 返回指向容器中第一个元素的迭代器。end()原创 2021-01-27 16:38:51 · 92 阅读 · 0 评论 -
list
C++ list容器用法list容器基本内涵list定义(构造函数)list赋值和交换list大小list插入和删除list数据存取list反转list排序list容器基本内涵STL中的链表是一个双向循环链表。由于链表的存储方式并不是连续的内存空间,因此链表list中的迭代器只支持前移和后移,属于双向迭代器。list的优点:采用动态存储分配,不会造成内存浪费和溢出链表执行插入和删除操作十分方便,修改指针即可,不需要移动大量元素list的缺点:链表灵活,但是空间(指针域)原创 2021-01-27 17:14:31 · 128 阅读 · 0 评论 -
c++的文件输入/输出
1文件的概述根据文件中数据的组织形式分为:1 文本文件文本文件又称ASCII文件,它的每一个字节存放一个ASCII代码,代表一个字符2二进制文件二进制文件则是把内存中的 数据,按其在内存中的存储形式原样写到磁盘上存放问题假定有一个整数10000,(1)按文本形式输出到磁盘上,需要占多少个字节?答案:需要占5个字节(2)按二进制形式输出到磁盘上有需要占多少个字节?答案:需要占2个字节特点用文本形式输出时,一个字节对应一个字符,因而便于对字符进行逐个处理,也便于输出字符,缺点是占存储空原创 2021-01-11 11:35:59 · 1972 阅读 · 1 评论 -
sort()函数
sort()函数一: 简介sort函数用于C++中,对给定区间所有元素进行排序,默认为升序,也可进行降序排序。sort函数进行排序的时间复杂度为n*log2n,比冒泡之类的排序算法效率要高,sort函数包含在头文件为#include“algorithm”的c++标准库中。Sort(start,end,cmp)(1)start表示要排序数组的起始地址;(2)end表示数组结束地址的下一位;(3)cmp用于规定排序的方法,可不填,默认升序。二:实例1.以int为例的基本数据类型的sort原创 2021-01-27 17:03:10 · 830 阅读 · 1 评论 -
c++中的全排列函数next_permutation()
全排列函数next_permutation()计算序列全排列的函数:next_permutation(start,end),此函数求的是当前排列的下一个排列,这里的“下一个”,我们可以把它理解为序列的字典序的前后此外,还应该注意的是,next_permutation()在使用前需要对欲排列数组按升序排序,否则只能找出该序列之后的全排列数。#include <iostream>#include <algorithm>using namespace std; int ma转载 2021-03-04 21:49:46 · 241 阅读 · 1 评论 -
C++11的for循环使用auto的新用法
C++11的for循环使用auto的新用法for(auto a:vec){cout<<a<<" ";}#include<bits/stdc++.h>using namespace std;int main(){ vector<int> vec; for(int i=0; i<10; i++) { vec.push_back(i); } for(auto a:vec) { cout<<a<<"原创 2021-03-08 20:24:30 · 3311 阅读 · 0 评论 -
c++中动态申请二维数组并释放方法
#include<iostream>using namespace std;int function(int **M,int i,int j){ for(int x=0;x<i;x++) { for(int y=0;y<j;y++) { cout<<M[x][y]; } cout<<endl; }}int main(){ int i=4; int j=4; int **M = new int *[i]; f原创 2021-05-12 22:24:55 · 128 阅读 · 0 评论 -
c++的STL中的map(哈希表)与unordered_map
Map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下map内部数据的组织,map内部自建一颗红黑树(一 种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在map内部所有的数据都是有序的,后边我们会见识到有序的好处。1、map简介map是一类关联式容器。它的特点是增加和删除节点对迭代器的影响很小,除了那个操作节原创 2021-01-31 14:37:55 · 447 阅读 · 0 评论 -
c++——reverse()函数的使用
c++——reverse()函数的使用使用方式:reverse(vec.begin(),vec.end());queue和stack容器不支持遍历操作,没有迭代器,所以不能使用算法里的反转函数,其类也没有提供反转的成员函数因为set和map是关联式容器,在插入元素时就已经根据键值排好序了,如果反转会使元素变成无序状态,从而破会容器组织#include<iostream>#include<algorithm>#include<string>#include&原创 2021-03-17 19:45:16 · 2553 阅读 · 0 评论 -
c++学习路线
这才是你需要的C语言、C++学习路线!原创 2021-08-11 15:55:25 · 121 阅读 · 0 评论 -
c++【C/C++】STL详解
【C/C++】STL详解原创 2021-03-08 20:04:35 · 146 阅读 · 0 评论