C++常用方法总结

基础

sizeof(...);//返回大小,以字节为单位
typeid(a).name();//返回类型

to_string(2); //返回字符串“2”
string s="123";
s[0];//类型为char
s.fing('2'); //返回索引1

 struct ListNode {
     int val;
     ListNode *next;
     ListNode(int x) : val(x), next(NULL) {}
 };
ListNode *p=new ListNode(2);
ListNode *q=NULL;

C++ stack 

#include<stack>

stack<string> s;
s.push("hello!");
s.size();
if(s.empty());栈为空返回true
string str=s.top();
s.pop();

stack<string> s2=s; //复制栈

C++ queue 

#include<queue>

queue<int> q;
q.size();
q.front();
q.back();
q.push(2);
int num=q.top();
q.pop();
if(q.empty());

queue<int>q2=q; //复制队列
q=queue<int>(); //设置为空队列

C++ vector

#include<vector>    //vector动态数组,容器

//初始化
vector<int> v;
vector<string> v2(10,"hello");    //大小为10,初值为hello的向量
vector<int> v3(5,(1,2,3,4,5));    //批量初始化
vector<vector<int>> v3;        //二维数组 v[i][j]访问

//函数
v.size();
if(v.empty());
sort(v.begin(),v.end()); //v.begin()指第一个数 v.end()指最后一个后面的数
reverse(v.begin(),v.end());
min_element(v.begin(),v.end()); //返回最小值地址
max_element(v.begin(),v.end()); //返回最大值地址

//插入
v.push_back(2);
v.insert(v.begin(),2); //在开头插入2

//遍历
for(int i=0;i<v.size();i++)
    cout<<v[i];
vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
    cout<<*it;

//删除
v.erase(v.begin(),v.begin()+3); //删除开头3个
v.clear();
v.pop_back();//删除最后一位
it=v.erase(it); //删除此时迭代器指向元素,并返回下一个元素指向


//截取
vector<int> v4(v1.begin(),v1.begin()+5); //截取v1前四个数

C++ map

#include<map>
using namespace std;

//初始化
map<int,string> m; //默认均为0或""

//赋值
m[0]="a";
m[1]="b";
m[2]="c";
pair<int,string> value(3,"d");
m.insert(value);

//遍历查询
map<int,string>::iterator it=m.begin();
for(;it!=m.end();it++)
    cout<<it->first<<" "<<it->second<<endl;
it->second="abc"; //可改变value值,不可改key值
it=m.find(5); //查找key值
if(it=m.end())
    cout<<"NO Match";

//删除
m.erase(it);
m.erase(m.begin(),m.end());m.erase(m.begin(),m.end());
m.erase("d");

集合 

#include<set>
using namespace std;

//集合,自动排序
unordered_set<int> s;
set<int> s;

s.insert(2);
s.insert(5);

if(s.find(6)==s.end())
    cout<<"No Match";
cout<<*s.rbegin(); //输出最后一个值

s.erase(2);

 

 

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: C/C++算法常用手册是程序员日常工作中不可或缺的工具书之一。该手册主要收录了程序员在开发过程中常用的算法,以及相应的代码实现。该手册涵盖了诸如数据结构、排序、查找、递归、贪心、动态规划、字符串等算法,帮助程序员快速掌握这些算法的基本原理和实现方式。简单地说,该手册将算法的核心原理和实现细节集中在了一起,兼顾了易懂性和实用性。 随着程序员需求的不断增加,该手册逐渐扩充了更多的算法类型。同时,该手册还根据算法的不同应用场景进行分类,方便程序员快速查找和使用。例如,程序员可以通过该手册快速了解不同数据结构的原理和实现方法,了解常见算法的时间复杂度和空间复杂度,还可以查找常见的实际问题中的算法实现方式。 总的来说,C/C++算法常用手册是程序员必备的工具之一,帮助程序员提高算法的实现能力和解决实际问题的能力,提高程序的效率和质量。 ### 回答2: C/C++常用算法手册是一本介绍计算机算法的参考手册,主要面向C/C++语言程序员。该手册总结了各种常用的算法,包括排序、查找、图论、字符串等。通过该手册的学习,可以让程序员更好地掌握C/C++编程的技巧和方法。 该手册中介绍了排序算法,包括冒泡排序、插入排序、选择排序、快速排序、归并排序等。对于不同的排序算法,手册详细介绍了它们的思路和实现方法,同时也对它们的时间复杂度和效率进行了分析和比较。 在查找方面,手册介绍了常用的顺序查找和二分查找算法,它们可以帮助程序员快速地定位和查找数据。 在图论和字符串方面,手册介绍了很多有用的算法,如最短路径算法、最小生成树算法、字符串匹配算法等。这些算法可以帮助程序员更好地解决实际问题。 总之,C/C++常用算法手册是一本非常实用和有价值的参考书,它可以让程序员掌握更多的C/C++算法技巧,提高程序员的编程能力和开发效率。 ### 回答3: C/C++ 常用算法手册是一本总结了 C/C++ 编程语言中常用的算法、数据结构、设计模式等知识的参考书籍。 相对于其他语言,C 和 C++ 语言有着更高的执行效率和更多的编程自由度,也因此被广泛应用于开发高性能、底层的软件程序。在这样的应用场景下,对算法和数据结构的掌握显得尤为重要。 C/C++ 常用算法手册涵盖了各种基础的算法和数据结构,比如排序、查找、链表、树等。同时,它也介绍了一些常用的高级算法,比如动态规划、贪心算法和回溯算法。 此外,该手册还详细说明了面向对象编程领域中常用的设计模式和其实现方式,例如工厂模式、装饰器模式等。 阅读 C/C++ 常用算法手册不但能够让读者掌握常用算法的实现方法,更能提高编程思维和技巧。另外,在实际应用中,编写高效的程序不仅需要算法的巧妙运用,更需要细致、严谨的代码风格和设计思路。此时,该手册中丰富的示例代码和编码规范性的讲解也能为读者提供很大的帮助。 总之,C/C++ 常用算法手册是一本既实用又深入的参考书,适合广大 C/C++ 开发者和算法学习者阅读。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值