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 来完成,下面就具体介绍一下如何来操作. ( ...
随机推荐
- iOS 开发之--打测试包的时候报错的解决方法
在打测试包的时候,一直出现一个报错,解决方法如下: 方法一: 描述文件所在目录是:~/Library/MobileDevice/Provisioning\ Profiles/,可以直接前往文件夹,把所 ...
- 55、Android网络图片 加载缓存处理库的使用
先来一个普通的加载图片的方法. import android.annotation.SuppressLint; import android.app.Activity; import and ...
- 转载:定位ARM Hard Fault 的方法
转载自:http://www.openedv.com/posts/list/25030.htm 1.用Keil的话,可以做如下操作: 先将fault中断函数的内容改为: HardFault_Handl ...
- sql server数据库行转列及巧用case when、和row_number用法例子
select 身份证号码, MAX(t.单位编号) 单位编号, MAX(t.姓名) 姓名, MAX(case when t.rows=1 then convert(varchar(max),疾病名称) ...
- FBV和CBV的差异
FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以不再赘述. CBV CBV(class base ...
- git 分回滚后无法合并代码问题
git reset & git revert 区别: 1. git revert是用一次新的commit来回滚之前的commit,git reset是直接删除指定的commit. 2. 在回滚 ...
- Centos7.0安装python2.7后yum报错
yum报错: vi /usr/libexec/urlgrabber-ext-down 把头部的Python改成和/usr/bin/yum中一样的
- 巨蟒python全栈开发-第10天 函数进阶
一.今日主要内容总览(重点) 1.动态传参(重点) *,** *: 形参:聚合 位置参数*=>元组 关键字**=>字典 实参:打散 列表,字符串,元组=>* 字典=>** 形参 ...
- sqlalchemy笔记
http://jzqt.github.io/2015/12/29/SQLAlchemy%E7%AC%94%E8%AE%B0/ 用SQLAlchemy做ORM也有一段时间了,总结一下用过的一些地方. 连 ...
- MyBatis 入门(一)
1. MyBatis 概述 MyBatis 是一个半自动化的持久层框架; 核心SQL,开发人员可以进行优化; SQL和Java编码分开,功能边界清晰,一个专注业务,一个专注数据; JDBC: SQL ...