![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
雾眠气泡水:)
这个作者很懒,什么都没留下…
展开
-
C++中的sort()函数
sort函数的模板有三个参数:void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp);(1)第一个参数first:是要排序的数组的起始地址。(2)第二个参数last:是结束的地址(最后一个数据的后一个数据的地址)(3)第三个参数comp是排序的方法:可以是从升序也可是降序。如果第三个参数不写,则默认的排序方法是从小到大排序。默认升序排列:int a[5]={7,4,6,3,8};a.sort原创 2021-03-14 20:28:26 · 95 阅读 · 0 评论 -
C/C++查找
对于未排好序的数,用顺序查找;已排好序的数,用顺序查找或折半查找都可,折半查找效率更高。顺序查找:#include <iostream>using namespace std;int SequenceSearch(int *a, int len, int num){ int i; for(i=0; i<len; i++) { if(a[i]==num) { return i; } }原创 2020-10-27 20:14:07 · 122 阅读 · 0 评论 -
C/C++各种排序算法
1、选择排序#include <iostream>using namespace std;void selectionSort(int a[], int len){ int i, j, m; for(i=0; i<len-1; i++) { m=i; for(j=i+1; j<len; j++) { if(a[j]<a[m]) m=j;原创 2020-10-26 21:46:39 · 179 阅读 · 1 评论 -
C/C++多种方法交换两个变量的值
1、传指针#include <iostream>using namespace std;void swap(int *x, int *y){ int temp; temp = *x; *x = *y; *y = temp;}int main(){ int a = 4, b = 5; cout << "a=" << a << " b=" << b << endl; sw原创 2020-10-26 21:05:52 · 4033 阅读 · 0 评论 -
C/C++递归和迭代(循环)
任何能够使用递归解决的问题都能转换成迭代(循环)递归的优点:使程序更清晰、更简洁,通过递归可以用更少的代码实现更强大的功能递归的缺点:递归次数变多时,会耗费大量的时间和内存递归计算0~8的阶乘#include <iostream>using namespace std;long factorial(int num){ if(num==0) return 1; else return num*factorial(num-1);}in原创 2020-10-27 21:10:57 · 1034 阅读 · 0 评论 -
C++ STL之string详解
9.1 介绍可以把string理解为一个字符串类型,像int一样可以定义。9.1.1.初始化定义://头文件#include<string>string str1; //生成空字符串string str2("123456789"); //生成"1234456789"的复制品 string str3("12345", 0, 3);//结果为"123" ,从0位置开始,长度为3string str4("123456", 5); //结果为"12345" ,长度为5string st转载 2022-02-13 21:50:08 · 1156 阅读 · 0 评论 -
C++ STL之vector详解
1.1 介绍vector为可变长数组(动态数组),定义的vector数组可以随时添加数值和删除元素。头文件#include < vector >初始化://初始化//方式一:初始化一维可变长数组vector<int>num; //定义了一个名为num的存int数据的一维数组vector<double>num;//定义了一个名为num的存double数据的一维数组vector<node>num;//node是结构体类型//方式二:初始化二转载 2022-02-13 21:22:05 · 279 阅读 · 0 评论 -
C++ STL常用内容
下面会介绍很多C++ STL库里面的模板,在编程中STL犹如神器,实用简洁好用。STL绝对让你受益无穷!????1.vector????????2.stack????????3.queue(队列)????????4.deque(双端队列)????????5.priority_queue(优先队列)????????6.map(映射)????????7.set(集合)????????8.pair????????9.string字符串????????10.bitset????...转载 2022-02-13 15:27:55 · 59 阅读 · 0 评论 -
C++输入带空格的字符串
#include <iostream>using namespace std;int main() { string s1,s2; getline(cin,s1); getline(cin,s2); cout<<s1<<endl; cout<<s2<<endl;}原创 2021-04-17 20:50:54 · 109 阅读 · 0 评论 -
C++ bitset 用法
C++的 bitset 在 bitset 头文件中,它是一种类似数组的结构,它的每一个元素只能是0或1,每个元素仅用1bit空间。下面是具体用法:构造函数bitset常用构造函数有四种,如下 bitset<4> bitset1; //无参构造,长度为4,默认每一位为0 bitset<8> bitset2(12); //长度为8,二进制保存,前面用0补充 string s = "100101"; bitset<10> bitset3原创 2021-04-15 20:26:52 · 229 阅读 · 0 评论 -
C++ find函数
对于普通数组find(开始位置,结束位置+1,要查找元素)返回所查找元素的地址,如果需要知道元素的下标,还需减去数组首地址。如果找到元素,上述表示法得到的是元素在数组中第一次出现的下标;如果找不到元素,上述表示法得到的就是数组最后一个元素的下标 +1。可以利用这一点判断数组中是否含有某个元素。#include<bits/stdc++.h>using namespace std;int main(){ int a[5]={1,5,2,4,3}; int x=4; .原创 2021-04-03 21:36:38 · 10559 阅读 · 0 评论 -
C++ 全排列函数next_permutation
#include<bits/stdc++.h>using namespace std;int main() { int a[3]={4,2,5}; sort(a,a+3);//必须事先排好序 do{ for(int i=0;i<3;i++){ cout<<a[i]<<" "; } cout<<endl; }while(next_permutation(a,a+3));原创 2021-04-03 19:14:43 · 104 阅读 · 0 评论 -
C/C++取整函数ceil(向上取整)和floor(向下取整)
#include<bits/stdc++.h>using namespace std;int main(){ cout<<"1.2向上取整:"<<ceil(1.2)<<endl; cout<<"0.0向上取整:"<<ceil(0.0)<<endl; cout<<"-1.2向上取整:"<<ceil(-1.2)<<endl; cout<<"1原创 2021-04-02 21:10:47 · 1033 阅读 · 0 评论 -
C++ unique函数用法
unique去掉容器中相邻元素的重复元素(所有不重复的元素排在数组的最前面,数组末尾未占用的位置保留原来的值)返回值是不重复的元素个数(标准说法是去重之后的尾地址)。在使用unique之前要先排序,可使用sort()函数。#include <bits/stdc++.h>using namespace std;int main(){ int num[10]={1,3,2,6,2,3,4,5,5,5}; sort(num,num+10); cout<<.原创 2021-04-01 19:04:49 · 1395 阅读 · 0 评论 -
C++求最大公约数与最小公倍数的函数
int gcd(int a, int b){ return a % b ? gcd(b, a % b) : b;}int lcm(int a, int b){ return a * b / gcd(a, b);}转载 2021-03-30 21:02:17 · 1054 阅读 · 0 评论 -
C/C++表示无穷大、无穷小
C/C++,用0x3f3f3f3f表示无穷大,0xc0c0c0c0表示无穷小#define INF 0x3f3f3f3f或int max= 0x3f3f3f3f原创 2021-03-14 19:41:10 · 11089 阅读 · 0 评论 -
c++中str.substr的用法
substr有2种用法:假设:string s = “0123456789”;string sub1 = s.substr(5); //只有一个数字5表示从下标为5开始一直到结尾:sub1 = “56789”string sub2 = s.substr(5, 3); //从下标为5开始截取长度为3位:sub2 = “567”...原创 2021-03-04 21:40:40 · 1194 阅读 · 3 评论 -
C++ stringstream:实现任意数据类型之间的转换
原文链接1.int类型转string类#include<iostream>#include<sstream>#include<string>using namespace std;int main(){ int i=23412; string str1("hhhhhh"); stringstream stream; stream<<i;//把i的值给stream stream>>str1;//把转载 2021-03-04 19:54:49 · 1464 阅读 · 1 评论 -
C++中 set(集合容器)的用法
set集合容器: 实现了红黑树(Red-Black Tree)的平衡二叉检索树的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得确保根节点的左子树的高度与有字数的高度相等,这样,二叉树的高度最小,从而检索速度最快。要注意的是,它不会重复插入相同键值的元素,而采取忽略处理。 平衡二叉检索树的检索使用中序遍历算法,检索效率高于vector、deque、和list的容器。 另外,采用中序转载 2021-02-02 21:53:10 · 491 阅读 · 0 评论 -
C++标准库之栈(stack)和队列(queue)
在C++标准库(STL)中,实现了栈和队列,方便使用,并提供了若干方法。以下作简要介绍。1、栈(stack)说明及举例:使用栈,要先包含头文件 : #include定义栈,以如下形式实现: stack s; 其中Type为数据类型(如 int,float,char等)。栈的主要操作:s.push(item); //将item压入栈顶s.pop(); //删除栈顶的元素,但不会返回s.top(); //返回栈顶的元素,但不会删除s.size(); //返回栈中元素的个数s.e转载 2021-02-01 19:56:03 · 2250 阅读 · 0 评论 -
C语言——宏定义
一.预处理 编译一个C语言程序的第一步骤就是预处理阶段,这一阶段就是宏发挥作用的阶段。C预处理器在源代码编译之前对其进行一些文本性质的操作,主要任务包括删除注释、插入被#include进来的文件内容、定义和替换由#define 定义的符号以及确定代码部分内容是否根据条件编译(#if )来进行编译。”文本性质”的操作,就是指一段文本替换成另外一段文本,而不考虑其中任何的语义内容。宏仅仅是在C预处理阶段的一种文本替换工具,编译完之后对二进制代码不可见 二.宏定义用法 ①宏常量 我们最常使用到.转载 2020-10-26 20:40:45 · 38991 阅读 · 19 评论 -
C++通讯录管理系统
#include <iostream>using namespace std;#include <stdlib.h>#include <string>#define MAX 1000//设计联系人结构体struct Person{ //姓名 string m_Name; //性别 1 男 2 女 int m_Sex; //年龄 int m_Age; //电话 string m_Phone; //住址 string m_Addr;}原创 2020-10-17 16:34:08 · 878 阅读 · 1 评论 -
C++核心编程
C++核心编程本阶段主要针对C++面向对象编程技术做详细讲解,探讨C++中的核心和精髓。1 内存分区模型C++程序在执行时,将内存大方向划分为4个区域代码区:存放函数体的二进制代码,由操作系统进行管理的全局区:存放全局变量和静态变量以及常量栈区:由编译器自动分配释放, 存放函数的参数值,局部变量等堆区:由程序员分配和释放,若程序员不释放,程序结束时由操作系统回收内存四区意义:不同区域存放的数据,赋予不同的生命周期, 给我们更大的灵活编程1.1 程序运行前 在程序编译后,生成了ex原创 2020-10-16 20:57:52 · 775 阅读 · 0 评论 -
C++基础入门笔记
C++基础入门1 C++初识1.1 第一个C++程序编写一个C++程序总共分为4个步骤创建项目创建文件编写代码运行程序1.1.1 创建项目 Visual Studio是我们用来编写C++程序的主要工具,我们先将它打开1.1.2 创建文件右键源文件,选择添加->新建项给C++文件起个名称,然后点击添加即可。1.1.3 编写代码#include<iostream>using namespace std;int main() { cout &原创 2020-10-11 14:23:55 · 959 阅读 · 0 评论