vector综合实例分析1

原创 2013年12月04日 11:31:54
#include <vector>
#include <algorithm>
#include <iostream>
using namespace std;
void pause()  //程序暂停
{   char c;
    cout << "\n\nPress return to continue: ";
    cin.get(c);
    cout << "\n\n";
}
int main() 
{
    vector<int> v(10,0);   //定义一个vector变量,大小为10,值都为0
    ostream_iterator<int> out(cout, " ");  //定义一个输出迭代器
    copy(v.begin(), v.end(), out);// 通过算法函数copy输出v中全部的数据
    pause(); //程序输出为:0 0 0 0 0 0 0 0 0 0 
    vector<int>::iterator i = v.begin(); //定义头迭代器
    i += 4;  //指向第5个元素
    *i++ = 7;  // or v[4] = 7; //使第5个元素值为7,同时迭代器指向下一个元素
    *i = 9;    // or v[5] = 9; //赋值第6个元素大小为9
    copy(v.begin(), v.end(), out); // 把通过迭代器赋值后的所有元素打印出来
    pause();//程序输出为: 0 0 0 0 7 9 0 0 0 0
    vector<int>::iterator where = find(v.begin(), v.end(), 9);//在v中查找值为9的元素,并返回相应的迭代器
    copy(where, v.end(), out);// 把查找到的元素及其该元素后的数据全部显示出来。
    pause();//程序输出为:9 0 0 0 0
    where = v.insert(where, 8); //在迭代器指示的元素前插入一个元素,其值为8
    copy(v.begin(), v.end(), out); //检验insert函数的效果
    pause();//程序输出为:0 0 0 0 7 8 9 0 0 0 0 
    where += 3;  //迭代器指示当前元素后的第三个元素为当前元素
    where = v.insert(where, 4); //在当前元素前插入一个元素,值为4
    copy(v.begin(), v.end(), out);
    pause();//程序输出为:0 0 0 0 7 8 9 0 4 0 0 0
    where -= 6;//迭代器前移6个元素
    where = v.insert(where, 11); //插入元素11到vector中
    copy(v.begin(), v.end(), out);
    pause();//程序输出为:0 0 11 0 0 7 8 9 0 4 0 0 0 
    v.erase(where+2);  // 删除迭代器后的第2个元素
    copy(v.begin(), v.end(), out);
    pause();//程序输出为:0 0 11 0 7 8 9 0 4 0 0 0
    sort(v.begin(), v.end()); //对vector进行由大到小排序
    copy(v.begin(), v.end(), out);
    pause();//程序输出为:0 0 0 0 0 0 0 4 7 8 9 11 
    if (*find(v.begin(), v.end(), 8)) // vector的查找,这里也可以用,binary_search(v.begin(),v.end(),8);
         cout << "Yes, 8 occurs in vector v.";
    else
         cout << "No, didn't find 8 in vector v.";
    pause();//程序输出为:Yes, 8 occurs in vector v.
    if (binary_search(v.begin(), v.end(), 12)) //  vector的查找
         cout << "Yes, 12 occurs in vector v.";
    else
         cout << "No, didn't find 12 in vector v.";
    pause();//程序输出为:No, didn't find 12 in vector v.
    where = lower_bound(v.begin(), v.end(), 8); //查找第一次出现8的位置
    copy(where, v.end(), out);
    pause();//程序输出为:8 9 11
    where = lower_bound(v.begin(), v.end(), 0); //查找第一次出现0的位置
    copy(where, v.end(), out);
    pause();//程序输出为:0 0 0 0 0 0 0 4 7 8 9 11
    where = upper_bound(v.begin(), v.end(), 0); //查找第一次不出现0时的位置
    copy(where, v.end(), out);
    pause();//程序输出为:4 7 8 9 11
    vector<int> w(v);
    if (v == w) //两个vector直接比较
       cout << "v and w have the same contents";
    else
       cout << "v and w have different contents";
    pause();//程序输出为:v and w have the same contents
    w[5] = 17;
    if (v == w)
       cout << "v and w have the same contents";
    else
       cout << "v and w have different contents";
    pause();//程序输出为:v and w have different contents
    v[5] = 17;
    if (v == w)
       cout << "v and w have the same contents";
    else
       cout << "v and w have different contents";
    pause();//程序输出为:v and w have the same contents*/
    return 0;
}

第104讲: Spark Streaming电商广告点击综合案例需求分析和技术架构

本讲内容:对京东等电商网站对广告点击行为进行分析,具体我们有哪些需求点,我们初步的技术架构是什么样的。 1:广告点击系统实时分析: 广告来自于网站或者移动App等,广告需要设定在具体的广告位,当用户点...
  • qq_21234493
  • qq_21234493
  • 2016年05月22日 21:16
  • 1251

Java综合性实验 - 学生成绩分析程序

简要的需求分析 已经提供的数据:    班级学生名单:学生的学号和姓名已经分别存储在以学生所在班级命名的文本文件中,每行存储一个学生的学号和姓名,中间用一个空格分隔。例如:2010级网络工程1班....
  • u012883725
  • u012883725
  • 2014年06月07日 23:58
  • 2114

(JavaFX 版)综合性实验 学生成绩分析程序

(JavaFX版)综合性实验 学生成绩分析程 内容要求: 综合性实验 学生成绩分析程序 实验类型:综合性 实验目的:综合运用Java语言和面向对象技术开发一个小型软件系统 实验内容: 1...
  • Tim_Fruit
  • Tim_Fruit
  • 2015年12月20日 03:06
  • 2230

51单片机C语言常用模块与综合系统设计实例精讲1.

  • 2008年12月19日 11:23
  • 4.96MB
  • 下载

WEB程序设计 实验1 ASP运行环境及简单ASP编程 实验2 VBScript脚本语言 实验3 Request与Response对象的应用 实验4 Application对象Session对象Server对象 实验5 ASP服务器组件实验 实验6 Connection对象,Command对象,Recordset对象 实验7 Recordset对象Fields集合Field对象.htm 实验8 综合实例网上书店 实验一 FrontPage 2002 基本操作 实验二 WEB

  • 2010年03月05日 21:05
  • 1.62MB
  • 下载

Java案例开发大全源程序(377个典型实例, 1个综合案例)(1-15章)

  • 2010年10月07日 21:42
  • 9.5MB
  • 下载

Google Maps API之综合实例1

  • 2009年10月10日 13:16
  • 3.49MB
  • 下载

JSP JDBC WEB STRUTS 分页综合实例1

  • 2011年02月13日 20:23
  • 399KB
  • 下载

设计模式综合实例分析之数据库同步系统(三)

接“设计模式综合实例分析之数据库同步系统(二)“。         6. 策略模式       由于表数据的同步方式有三种,分别是增量同步、先Delete后Insert方式、临时表方式,因此可以定义一...
  • LoveLion
  • LoveLion
  • 2013年03月14日 10:00
  • 8767

【JAVA】【NIO】对系列翻译的总结,一个综合实例的分析,网络服务端接收客户端输入,实时将内容写文件

基于前面12节的一个JAVA NIO的系列翻译,本文将结合所翻译的内容,用一个综合实例来分析,让大家有一个直观的理解。首先这里贴出系列翻译的文章: Java NIO系列翻译,唯有分享,方能进步 ===...
  • chiweitree
  • chiweitree
  • 2015年03月24日 11:15
  • 1168
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vector综合实例分析1
举报原因:
原因补充:

(最多只允许输入30个字)