笔试常用函数
文章平均质量分 64
淼淼1111
这个作者很懒,什么都没留下…
展开
-
STL之Set:Set的基本用法
set集合容器实现了红黑树(Red-Black Tree)的平衡二叉检索树的的数据结构,在插入元素时,它会自动调整二叉树的排列,把该元素放到适当的位置,以确保每个子树根节点的键值大于左子树所有节点的键值,而小于右子树所有节点的键值;另外,还得确保根节点的左子树的高度与有字数的高度相等,这样,二叉树的高度最小,从而检索速度最快。要注意的是,它不会重复插入相同键值的元素,而采取忽略处理。 ...原创 2018-07-23 22:19:43 · 539 阅读 · 0 评论 -
C++ count函数
转自:http://blog.csdn.net/hyg0811/article/details/10602283 一.count函数 algorithm头文件定义了一个count的函数,其功能类似于find。这个函数使用一对迭代器和一个值做参数,返回这个值出现次数的统计结果。 编写程序读取一系列int型数据,并将它们存储到vector对象中,然后统计某个指定的值出现了多少次。 核心代码:...原创 2018-07-29 18:03:11 · 9379 阅读 · 0 评论 -
c++ vector中插入pair
我们知道map和multimap的作用,这两种数据类型在存储数据时,会根据pair<>的first成员进行排序,不同的时前者将不会插入对first成员重复的结构,后者可以。那如果我们只想存储pair对,而不需要对其排序,则需要用到vector,下面是vector的用法实例:#include<iostream>#include<vector>using...原创 2018-07-22 11:09:21 · 4473 阅读 · 0 评论 -
C++ pair(对组)用法
类模板:template <class T1, class T2> struct pair参数:T1是第一个值的数据类型,T2是第二个值的数据类型。功能:pair将一对值组合成一个值,这一对值可以具有不同的数据类型(T1和T2),两个值可以分别用pair的两个公有函数first和second访问。具体用法:1.定义(构造): 2.访问两个元素(通过first...原创 2018-07-22 11:19:32 · 1319 阅读 · 1 评论 -
C++中pair的用法
pair是C++中一种模板类型。每个pair对象可以存储两个值,这两个值可以是不同的数据类型。存储的值可以是基本数据类型也可以是自定义数据类型。声明命名空间:using namespace std;或using std::pair;pair<int, int> pdata;或使用全名std::pair<int, int> pdata; 一、定义和初...原创 2018-07-22 11:26:45 · 16672 阅读 · 0 评论 -
C++语言学习之STL 的组成
C++语言学习之STL 的组成STL有三大核心部分:容器(Container)、算法(Algorithms)、迭代器(Iterator),容器适配器(container adaptor),函数对象(functor),除此之外还有STL其他标准组件。通俗的讲:容器:装东西的东西,装水的杯子,装咸水的大海,装人的教室……STL里的容器是可容纳一些数据的模板类。算法:就是往杯子里倒水,往大海...原创 2018-07-22 22:51:20 · 1991 阅读 · 0 评论 -
c++ list, vector, map, set 区别与用法比较
List封装了链表,Vector封装了数组, list和vector得最主要的区别在于vector使用连续内存存储的,他支持[]运算符,而list是以链表形式实现的,不支持[]。Vector对于随机访问的速度很快,但是对于插入尤其是在头部插入元素速度很慢,在尾部插入速度很快。List对于随机访问速度慢得多,因为可能要遍历整个链表才能做到,但是对于插入就快的多了,不需要拷贝和移动数据,只需要改变...原创 2018-07-23 09:49:45 · 213 阅读 · 0 评论 -
C++ 中sort 函数及 cmp 自定义规则的使用
需要头文件#include<algorithm>using namespace std; 这个函数可以传两个参数或三个参数。第一个参数是要排序的区间首地址,第二个参数是区间尾地址的下一地址。也就是说,排序的区间是[a,b)。简单来说,有一个数组int a[100],要对从a[0]到a[99]的元素进行排序,只要写sort(a,a+100)就行了,默认的排序方式是升序。...原创 2018-07-28 10:58:45 · 3925 阅读 · 3 评论 -
C++字符串数值的转换(to_string/stoi/stod)
<code class="language-cpp" deep="7"> #include<iostream> #include<string> using namespace std; int main() { string s1 = "2018.11"; int a1 = stoi(s1)..原创 2018-07-28 11:07:49 · 3547 阅读 · 0 评论 -
getline()的使用详解
一、getline( ) int main() { string line: while(getline(cin,line)) cout<<line<<endl; return 0; } getline()的原型: 头文件:#include <string>ist...原创 2018-08-06 11:20:50 · 695 阅读 · 0 评论 -
C++ string 类中substr的使用方法
#include<string>#include<iostream>using namespace std;int main(){ string x="Hello_World"; /*默认截取从0到npos.重载原型为string substr(_off=0,_count=npos);npos一般表示为string类中不存在的位置,_off表示字符...原创 2018-08-06 12:15:09 · 57973 阅读 · 0 评论 -
STL学习笔记— —容器array
简介array在头文件<array> 中定义namespace std{ template<class T, size_t N> class array;} array是固定元素个数的容器,与相应C数组的语义相同,容器array< T,N> 的大小等于相应C数组T[N]的大小,且性能也与C数组相同。但是它提供了C++标准容器...原创 2018-07-24 22:08:35 · 226 阅读 · 0 评论 -
c++ stl中map容器的基本用法
std map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称为该关键字的值)的数据处理能 力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里说下std map内部数据的组织,std map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在std map内部所有的...原创 2018-07-24 21:41:05 · 592 阅读 · 0 评论 -
C/C++ typedef用法详解
第一、四个用途用途一:定义一种类型的别名,而不只是简单的宏替换。可以用作同时声明指针型的多个对象。比如:char* pa, pb; // 这多数不符合我们的意图,它只声明了一个指向字符变量的指针, // 和一个字符变量;以下则可行:typedef char* PCHAR; // 一般用大写PCHAR pa, pb; // 可行,同时声明了两个指向字符变量的指针虽然:char ...原创 2018-07-19 12:34:19 · 140 阅读 · 0 评论 -
c++中vector的用法详解
vector(向量): C++中的一种数据结构,确切的说是一个类.它相当于一个动态的数组,当程序员无法知道自己需要的数组的规模多大时,用其来解决问题可以达到最大节约空间的目的.优点:(1) 不指定一块内存大小的数组的连续存储,即可以像数组一样操作,但可以对此数组 进行动态操作。通常体现在push_back() pop_back() ...原创 2018-07-18 20:59:51 · 671 阅读 · 0 评论 -
C语言 sizeof详解
sizeof,一个其貌不扬的家伙,引无数菜鸟竟折腰,小虾我当初也没少犯迷糊,秉着“辛苦我一个,幸福千万人”的伟大思想,我决定将其尽可能详细的总结一下。但当我总结的时候才发现,这个问题既可以简单,又可以复杂,所以本文有的地方并不适合初学者,甚至都没有必要大作文章。但如果你想“知其然,更知其所以然”的话,那么这篇文章对你或许有所帮助。菜鸟我对C++的掌握尚未深入,其中不乏错误,欢迎各位指正啊...原创 2018-07-18 23:08:45 · 304 阅读 · 0 评论 -
C++ size_t介绍
size_t类型定义在cstddef头文件中,该文件是C标准库的头文件stddef.h的C++版。它是一个与机器相关的unsigned类型,其大小足以保证存储内存中对象的大小。中文名:size_t外文名:unsigned integ:文件 size_tDemo.c#include<stdlib.h>#include<stdio.h>int main(){ ...原创 2018-07-18 23:10:00 · 2045 阅读 · 0 评论 -
vector的几种初始化和遍历
一、关于vector 本文默认读者具有一定的c++基础,故大致叙述,但保证代码正确。 vector是一个动态的序列容器,相当于一个size可变的数组。 相比于数组,vector会消耗更多的内存以有效的动态增长。而相比于其他动态序列容器(deques, lists and forward_lists),vector能更快的索引元素(就像数组一样),而且能相对高效的在尾部...原创 2018-07-18 23:42:38 · 236 阅读 · 0 评论 -
STL之Set:Set容器的一些总结
关于set,必须说明的是set关联式容器。set作为一个容器也是用来存储同一数据类型的数据类型,并且能从一个数据集合中取出数据,在set中每个元素的值都唯一,而且系统能根据元素的值自动进行排序1.关于setC++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构操...原创 2018-07-24 19:04:55 · 277 阅读 · 0 评论 -
C++ 队列queue的用法
C++队列queue模板类的定义在<queue>头文件中,queue 模板类需要两个模板参数,一个是元素类型,一个容器类型,元素类型是必要的,容器类型是可选的,默认为deque 类型。 C++队列Queue是一种容器适配器,它给予程序员一种先进先出(FIFO)的数据结构。 C++队列Queue类成员函数如下:back()返回最后一个元素empty()如果队列...原创 2018-07-24 19:17:19 · 11755 阅读 · 0 评论 -
回溯法解0-1背包问题(王晓东算法例题)
给定n种物品和一背包。物品i的重量是wi,其价值为vi,背包的容量为C。问应如何选择装入背包的物品,使得装入背包中物品的总价值最大?整个解的空间相当于一个二叉树,左边是0,代表不取这个物品,右边是1,代表取这个物品,然后进行dfs,回溯的时候修改。注意,这里应该有两个剪枝,我这里只写了一个。#include<iostream>#include<string>...原创 2018-07-24 20:26:23 · 1218 阅读 · 0 评论 -
vector<int>::iterator it
vector<int> vect;vector<int>::iterator it = vect.begin();首先定义了一个int类型的向量;然后定义了一个具有int元素的迭代器类型。it的类型就是vector<int>::iterator。vectorvector不是一种数据类型,而只是一个类模板,可用来定义任意多种数据类型。vector...原创 2018-07-19 10:36:21 · 5361 阅读 · 1 评论 -
c++STL容器(map,set,vector,stack,queue)
STL 目录 STL 组成部分 容器 序列式容器 迭代器 算法 STL是Standard Template Library的简称,中文名标准模板库,惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R Musser在惠普实验室工作时所开发出来的。从根本上说,STL是一些"容器"的集合,这些"容器"有li...原创 2018-07-19 11:55:14 · 374 阅读 · 0 评论 -
C++ STL基本容器使用方法
1:关联容器和顺序容器目录1:关联容器和顺序容器2:顺序容器的介绍4:几种容器的比较2.set c++中有两种类型的容器:顺序容器和关联容器,顺序容器主要有:vector、list、deque等。其中vector表示一段连续的内存地址,基于数组的实现,list表示非连续的内存,基于链表实现。deque与vector类似,但是对于首元素提供删除和插入的双向支持。关联容器主要...原创 2018-07-19 12:01:15 · 400 阅读 · 0 评论 -
C++11 auto自动类型推导
1. auto类型推导下面是auto的使用举例: auto x =5; //正确,x是int类型auto pi = new auto(1); //正确,批是int*const auto* v = &x, u = 6; //正确,v是const int*类型,u是const intstatic auto y = 0.0; //正确,y是double类型au...原创 2018-08-29 17:20:00 · 901 阅读 · 0 评论