STL 精简版

vetor

 #include<vector>
#include<cstdio>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
vector <int> a;//定义一维数组
vector <int *> tm; //定义二位数组
int b = ;
a.push_back(b);//在数组的最后添加一个数据
a.push_back();
a.push_back();
a.pop_back();//去掉数组的最后一个数据
cout<<a.at()<<endl;//得到编号位置的数据
vector<int>::iterator it;
for(it = a.begin(); it != a.end(); it++){
printf("%d ",*it);
}
puts("");
printf("front = %d; back = %d\n",a.front(),a.back());
it = a.begin();
a.erase(it);//删除指针数据项
for(int i = ; i < a.size(); i++){
printf("%d ",a[i]);
}
puts("");
a.clear();//清空
if(a.empty()) puts("now its over");
return ;
}

set

 #include<set>
#include<cstdio>
#include<algorithm>
#include<cstring>
using namespace std;
struct Node{
char str[];
bool operator < (const Node a) const {
return (strcmp(str,a.str) <= );
}
};
int main()
{
set<int>s;
s.insert();
s.insert();
s.insert();
//set中不会有重复的元素,所以我们如果需要去重,直接丢到set里是不错的选择
//set可以定义比较函数,因为set可以通过中序遍历直接从小到大的排序输出 //中序遍历
set<int>::iterator it;
for(it = s.begin(); it != s.end(); it++){
printf("%d ",*it);
}
puts("");
s.erase();//删除键值为2的元素
printf("find(3) = %d\n",s.find());
for(it = s.begin(); it != s.end(); it++){
printf("%d ",*it);
}
puts("");
s.clear();//清空set
if(s.empty()) puts("Now its over"); set<Node> n;
Node tm;
tm.str[] = 's'; tm.str[] = 'o';tm.str[] = ;
n.insert(tm);
Node tm2;
tm2.str[] = 'g'; tm2.str[] = 'e';tm2.str[] = ;
printf("%d\n", (tm < tm2));
printf("%d\n", (strcmp("ge", "so")));
tm.str[] = 'g'; tm.str[] = 'e';tm.str[] = ;
n.insert(tm);
tm.str[] = 's'; tm.str[] = 'i';tm.str[] = ;
n.insert(tm);
tm.str[] = 'b'; tm.str[] = 'e';tm.str[] = ;
n.insert(tm);
tm.str[] = 'd'; tm.str[] = 'n';tm.str[] = ;
n.insert(tm);
set<Node>::iterator p;
for(p = n.begin(); p!=n.end(); p++ ){
printf("%s ",(*p).str);
}
puts("");
return ;
}

stack

 #include<cstdio>
#include<cstring>
#include<algorithm>
#include<stack>
using namespace std; int main()
{
stack<int> st;
st.push();
st.push();
st.push();
while(!st.empty()){
printf("%d ", st.top());
st.pop();
}
puts("");
printf("size = %d\n",st.size());
return ;
}

queue

 #include<cstdio>
#include<queue>
using namespace std;
int main()
{
queue<int> qu;
for(int i = ; i < ; i++){
qu.push(i);
}
printf("front = %d; back = %d\n",qu.front(), qu.back());
while(!qu.empty()){
printf("%d ",qu.front());
qu.pop();
}
puts("");
printf("size = %d\n",qu.size());
return ;
}

priority_queue

 #include<cstdio>
#include<cstring>
#include<queue>
using namespace std;
int main()
{
priority_queue<int> q;
for(int i = ;i < ; i++) q.push(i);
while(!q.empty()){
printf("%d ",q.top());
q.pop();
}
puts("");
return ;
}

stl总结精简版的更多相关文章

  1. Linux上oracle精简版客户端快速部署

    RHEL6 + Oracle 11g客户端快速部署 需求:只是用到客户端的sqlplus, sqlldr功能. 方案:用精简版实现客户端的快速部署 1.上传oracle精简版客户端到服务器/tmp目录 ...

  2. ArcGIS10.2.1精简版、ArcGIS_Desktop10_Tutorial、破解文件等下载地址

    原版ArcGIS for Desktop的ISO文件一般都在4.5G以上,一般人用不上里面很多工具,下载回来又浪费时间,现推出ArcGIS10.2.1精简版(里面只包含主程序.Data Interop ...

  3. TeamViewer12.0.71503(远程控制软件)精简版 单文件企业版介绍

    TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...

  4. Log4j快速使用精简版

    Log4j快速使用精简版 1.导入log4j-1.2.17.jar包 2.在src根目录下创建log4j.properties文件 log4j.rootLogger=INFO, CONSOLE, FI ...

  5. VMware10.06精简版安装后台运行

    VMware10.06精简版安装时会出现一个安装功能选择菜单,里面有一条后台运行必选功能,一般人会跳过条.当你打算在服务器上用vmware时,一定要安装后台运行服务,否则你无法换出正在运行的后台虚拟机 ...

  6. [异常解决] ubuntu上安装虚拟机遇到的问题(vmware坑了,virtual-box简单安装,在virtual-box中安装精简版win7)

    利用周末时间将整个电脑格式化,换成了ubuntu系统- 所谓:扫清屋子再请客! 但是有些软件只在win上有,于是还是考虑装个虚拟机来个——逐步过度策略,一点点地从win上转移到linux上 我的系统是 ...

  7. 电脑公司最新GHOST WIN7系统32,64位优化精简版下载

    系统来自系统妈:http://www.xitongma.com 电脑公司最新GHOST win7系统32位优化精简版V2016年3月 系统概述 电脑公司ghost win7 x86(32位)万能装机版 ...

  8. TeamViewer12.0.71503(远程控制软件)精简版单文件企业版介绍

    TeamViewer 是一款能在任何防火墙和 NAT 代理的后台用于远程控制,桌面共享和文件传输的简单且快速的解决方案.为了连接到另一台计算机,只需要在两台计算机上同时运行 TeamViewer 即可 ...

  9. centos7精简版(minimal)killall: command not found

    centos7精简版(minimal)运行killall命令提示 command not found 是由于没有安装psmisc所致 Psmisc软件包包含三个帮助管理/proc目录的程序. 安装下列 ...

随机推荐

  1. iOS 中Block以及Blocks的使用,闭包方法调用

    OC: -(void)dataWithUrl:(NSString*)string AndId:(NSInteger)id returnName:(void(^)(NSString*name))back ...

  2. PE格式第三讲扩展,VA,RVA,FA(RAW),模块地址的概念

    PE格式第三讲扩展,VA,RVA,FA的概念 作者:IBinary出处:http://www.cnblogs.com/iBinary/版权所有,欢迎保留原文链接进行转载:) 一丶VA概念 VA (vi ...

  3. OpenGL ES学习001---绘制三角形

    PS:OpenGL ES是什么? OpenGL ES (OpenGL for Embedded Systems) 是 OpenGL三维图形 API 的子集,针对手机.PDA和游戏主机等嵌入式设备而设计 ...

  4. Android 7.1 WindowManagerService 屏幕旋转流程分析 (三)

    三.屏幕的绘制 performSurfacePlacement()函数来触发window的绘制,这里最大的循环次数是6,当然一般不会到最大次数就会被Scheduled. final void perf ...

  5. How to setup a DL4J project with eclipse

    https://electronsfree.blogspot.com/2016/10/how-to-setup-dl4j-project-with-eclipse.html

  6. Xamarin.android Activity动画切换效果实现

    http://blog.csdn.net/esunshine1985/article/details/44302903 1.在Resources--values下新建styles.xml,添加内容如下 ...

  7. 房上的猫:java基础知识部分知识点

    1.Java常见的注释有哪些,语法是怎样的? 1)单行注释用//表示,编译器看到//会忽略该行//后的所文本  2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文 ...

  8. UWP 手绘视频创作工具技术分享系列 - 文字的解析和绘制

    本篇作为技术分享系列的第二篇,详细讲一下文字的解析和绘制,这部分功能的研究和最终实现由团队共同完成,目前还在寻找更理想的实现方式. 首先看一下文字绘制在手绘视频中的应用场景 文字是手绘视频中很重要的表 ...

  9. 记一次Hbase查询速度优化经历

    项目背景: 在这次影像系统中,我们利用大数据平台做的是文件(图片.视频等)批次的增删改查,每个批次都包含多个文件,上传完成以后要添加文件索引(文件信息及批次信息),由于在Hbase存储的过程中,每个文 ...

  10. linux apache虚拟主机配置(基于ip,端口,域名)

    配置环境: linux版本:Centos6.4 httpd版本: [root@centos64Study init.d]# pwd/etc/init.d[root@centos64Study init ...