C++ vector 多次删除第一个元素
转载声明: 代码都是来源于一下连接,做了一点点修改,为了记忆方便,故贴在这里,原文链接:
http://blog.csdn.net/doctor_feng/article/details/11880787 ////test cpp operation
//
//#include<vector>
//#include<stdio.h>
//using namespace std;
//typedef struct {
// int id;
// int name;
//}Student;
//
//
//
//int main() {
// Student ss = {12,13};
// printf("%d %d\n", ss.id, ss.name);
// vector<Student> st;
// //struct 初始化
// vector<Student> s(2,{12,13}) ; // s(2, ss);
// s.push_back(ss);
//
//
//
// int i = 1;
//
// while(i < 10) {
// printf("%d, %d", s.front().id, s.front().name);
//
// i++;
// }
//} #include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <list>
using namespace std; voidPrintInt(const int&nData)
{
cout<<nData<<endl;
}
int main()
{
vector<int> vecInt;
for(int i=0; i<10;++i)
{
vecInt.push_back(i);
}
cout<<"向量中的内容为:"<<endl;
//for_each(vecInt.begin(),vecInt.end(),PrintInt);
for(vector<int>::iterator iter = vecInt.begin(); iter != vecInt.end(); ++iter) {
cout << *iter << " ";
}
cout << "\n";
cout<<"vector contains "<<vecInt.size()<<" elements"<<endl;
vecInt.pop_back();//删除最后一个元素
cout<<"删除最后一个元素后,vector contains "<<vecInt.size()<<" elements"<<endl; vector<int>::iterator k = vecInt.begin();
vecInt.erase(k);//删除第一个元素 for(vector<int>::iterator iter = vecInt.begin(); iter != vecInt.end(); ++iter) {
cout << *iter << " ";
}
cout << "\n"; //vecInt.erase(k); //迭代器k已经失效,会出错
cout<<"删除第一个元素后,vector contains "<<vecInt.size()<<" elements"<<endl;
k = vecInt.begin();
vecInt.erase(k); for(vector<int>::iterator iter = vecInt.begin(); iter != vecInt.end(); ++iter) {
cout << *iter << " ";
}
cout << "\n"; cout<<"删除第一个元素后,vector contains "<<vecInt.size()<<" elements"<<endl;
//vecInt.erase(vecInt.begin(),vecInt.end()); //删除所有元素
//cout<<"删除所有元素后,vector contains "<<vecInt.size()<<"elements"<<endl; //输出为0
vector<int>::iterator vecNewEnd =remove(vecInt.begin(),vecInt.end(),5); //删除元素
cout<<"删除元素后,vector contains "<<vecInt.size()<<" elements"<<endl;
cout<<"向量开始到新结束为止的元素:"<<endl;
//for_each(vecInt.begin(),vecNewEnd,PrintInt);
cout<<"向量中的元素:"<<endl;
//for_each(vecInt.begin(),vecInt.end(),PrintInt); return 0;
}
C++ vector 多次删除第一个元素的更多相关文章
- shift() 方法从数组中删除第一个元素,并返回该元素的值。此方法更改数组的长度。
let a = [1, 2, 3]; let b = a.shift(); console.log(a); // [2, 3] console.log(b); // 1 返回值 从数组中删除的元素; ...
- vector 循环里删除多个元素
; i < (int)vecLines.size(); i++) { AcDbLine * l1 = vecLines[i]; if (l1 == NULL) { continue; } //记 ...
- Java中循环删除list中元素的方法总结
印象中循环删除list中的元素使用for循环的方式是有问题的,但是可以使用增强的for循环,然后在今天使用的时候发现报错了,然后去科普了一下,发现这是一个误区.下面我们来一起看一下. Java中循环遍 ...
- java中删除list指定元素遇到的问题
java删除list中指定的元素可以用remove()函数,但会存在一个问题,举个例子来说 假如有a,b,c,d,e这个list,用remove()方法删除第一个元素之后,b,c,d,e会往前移动,此 ...
- php数组操作,删除第一个和最后一个元素
对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. ( ...
- hdu 4557 非诚勿扰 vector的应用 原来vector 可以删除指定位置元素 不过消耗大
非诚勿扰 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi ...
- Java中删除第一个集合中以某某开头的元素,删除第二个集合中以某某结尾的元素,并合并成一个集合
import java.util.ArrayList; import java.util.List; public class Test { public static void main(Strin ...
- vector 迭代 删除指定的元素
std::vector< Bullet * > m_vBullets; std::vector< Bullet * > m_vRemoveBulltes; ){ for ( s ...
- php中删除数组的第一个元素和最后一个元素的函数
对于一个php数组,该如何删除该数组的第一个元素或者最后一个元素呢?其实这两个过程都可以通过php自带的函数 array_pop 和 array_shift 来完成,下面就具体介绍一下如何来操作. ( ...
随机推荐
- 怎样从Mysql官网下载mysql.tar.gz版本的安装包
今天学习在Linux上部署项目,用到了Mysql,因此想要下载适用于Linux的安装版本,在Mysql官网找了半天,终于找到怎样下载了,这里写出来,以后大家找的时候就好找了. 第一步:在百度输入My ...
- 提高SDN控制器拓扑发现性能
原文由我发表在sdnlab.com.原文链接:http://www.sdnlab.com/15425.html SDN网络的一大特点就是资源由控制器集中管理,控制器管理网络,最基本的当然需要知道网络的 ...
- iOS UITextView 输入内容实时更新cell的高度
iOS UITextView 输入内容实时更新cell的高度 2014-12-26 11:37 编辑: suiling 分类:iOS开发 来源:Vito Zhang'blog 11 4741 UIT ...
- 160622、详解JavaScript变量提升
变量在程序中随处可见.它们是一些始终在相互影响,相互作用的的数据和逻辑.正是这些互动使应用程序活了起来. 在JavaScript中使用变量很重要的一方面就是变量的提升 —— 它决定了一个变量何时可以被 ...
- 在Web工程中,普通Java类如何读文件
我们在以前讨论过在Web工程不能采用Java工程原先的读取方式,即创建一个文件流(FileInputStream)并给出一个文件目录(从src开始找一直找到你要读取文件的目录),这种的方式是不可行的. ...
- Storm的组件
摘自网上 当时写的很好,很详细的介绍了各个组件直接的关系 Storm集群和Hadoop集群表面上看很类似.但是Hadoop上运行的是MapReduce jobs,而在Storm上运行的是拓扑(topo ...
- xshell 没有反应---Xshell按ctrl+s界面无反应的解决办法
在用Xshell管理远程服务器,特别是在用vi编辑配置文件时,总是习惯的用ctrl+s想要保存文件,然后就悲剧了.xsell就再也没有返应只能关了重新打开.但原来修改的文件算是报废了. 在网上搜索了一 ...
- Python菜鸟之路:Django 缓存
Django中提供了6种缓存方式: 开发调试 内存 文件 数据库 Memcache缓存(python-memcached模块) Memcache缓存(pylibmc模块) 1. 开发调试 # 此为开始 ...
- 解决:function in namespace ‘std’ does not name a type + allocator_/nullptr/dellocator_ was not declared + base operand of ‘->’ has non-pointer type ‘std::vector<cv::Mat>’ 错误编译时报错(caffe)
解决方法,用到了c++11,g++命令需要加上-std=c++11选项 附:g++默认的c++标准 gcc-6.4.0 gcc-7.2.0 默认是 -std=gnu++14gcc-4.3.6 gcc- ...
- Redis2.8配置文件详解(转)
add by zhj : 没找到本文的原文.另外,redis配置文件中文翻译 也翻译的不错,可以与本文对照看.两篇文章都是以Redis2.8来介绍的 在Redis中直接启动redis-server服务 ...