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 来完成,下面就具体介绍一下如何来操作. ( ...
随机推荐
- Android无线测试之—UiAutomator UiCollection API介绍
UiCollection类介绍 一.UiCollection类说明 1)UiCollection类是UiObject类的子类,即UiObject类的所有方法都被UiCollection继承下来了,都可 ...
- PhoneGap 第一个程序
首先,现在PhoneGap ZIP包. index.html <!DOCTYPE HTML lang="zh-CN"> <html> <head&g ...
- because it violates the following Content Security Policy directive: "default-src 'self' data: gap: https://ssl.gstatic.com 'unsafe-eval'". Note that 'script-src' was not explicitly set, so 'default-s
html文件 修改成如下:<meta http-equiv="Content-Security-Policy" content="default-src *; st ...
- iOS 状态栏更改为白色
如果觉得在iOS 7启动期间状态栏黑色不合你意,以下方法可改变Status bar style成白色 在工程的plist添加 Status bar style,改变style值 默认是Gray sty ...
- Entity Framework查询生成大量的子查询,如何避免?求救
最近使用Entity Framework做一个中型的项目,一张表含有千万条数据,并没有使用很复杂的查询,只是程序上使用了DTO进行帅选数据,且使用了分页,效果很不理想.经过跟踪sql,我发现很多简单的 ...
- 【Python基础】装饰器的解释和用法
装饰器的用法比较简单,但是理解装饰器的原理还是比较复杂的,考虑到接下来的爬虫框架中很多用到装饰器的地方,我们先来讲解一下. 函数 我们定义了一个函数,没有什么具体操作,只是返回一个固定值 请注意一下缩 ...
- Office word中去掉首页的页眉
1.首先将光标位置移动到第二页的开始,然后点击页面布局命令. 2.页面布局里面找到分隔符,找到下一页的分隔符.(分页符分页) 3.双击第二页的页眉,打开页眉编辑菜单.将连接到前一条页眉的命令去掉. 4 ...
- 巨蟒python全栈开发-第5天 字典&集合
今日大纲: 1.什么是字典 字典是以key:value的形式来保存数据,用{}表示. 存储的是key:value 2.字典的增删改查(重点) (1) 添加 dic[新key] = 值 setdefau ...
- Java 运行环境介绍
Java 语言特点: 跨平台性: 一次编译,到处运行.即不受操作系统限制,编译一次,可以在多个平台运行.而这个优势得益于 JVM(Java Virtual Machine, 即Java 虚拟机). 两 ...
- IO 之 File 类
位于 java.io 包 用来将文件或者文件夹封装成对象 方便对文件和文件夹的属性信息进行操作 File 对象可以作为参数传递给流的构造函数 构造函数 // 可以将一个已存在的, 或者不存在的文件或者 ...