zoukankan      html  css  js  c++  java
  • vector数组

    1.Vector数组可以认为是大小的数组。

    2.它可以实现排序,函数是sort(v.begin(),v.end() 。

    3.它可以实现二分查找功能,函数是lower_bound(v.begin(),v.end(),x)。查找的是值x,返回第一个大于或者等于小的值的指针。如果查找返回的是指针v.end()或者发现*it!=x那么容器里没有x这个数。

    4.unique函数可以删除有序数组中的重复元素。头文件<algorithm>

    unique(num,mun+n)返回的是num去重后的尾地址,之所以说比不真正把重复的元素删除,其实是,该函数把重复的元素一到后面去了,然后依然保存到了原数组中,然后返回去重后最后一个元素的地址,因为unique去除的是相邻的重复元素,所以一般用之前都会要排一下序。

    1 #include <iostream>
    2 #include <algorithm>
    3 using namespace std;
    4 int main(){
    5     int num[] = {1,1,2,2,3,4,4,4,5,5,5};
    6     unique(num,num + 11);
    7     for(int i = 0 ; i < 11 ; i++) cout << num[i] << endl;
    8 }

    5.a.size()读取vector数组的大小,a.resize()改变大小。

    6.a.push_back()向尾部添加元素,a.pop_back()删除尾部元素。

    实例代码:

     1 #include <cstdio>
     2 #include <iostream>
     3 #include <cstring>
     4 #include <vector>
     5 #include <string>
     6 #include <algorithm>
     7 #include <cmath>
     8 using namespace std;
     9 int n,m;
    10 int main(){
    11     vector<int> v;
    12     int Case = 0;
    13     while(scanf("%d%d",&n,&m) != EOF &&(n || m)){
    14         v.clear();
    15         int x;
    16         for(int i = 0 ; i < n ; i++){
    17             scanf("%d",&x);
    18             v.push_back(x);
    19         }
    20         sort(v.begin(),v.end());
    21         printf("CASE# %d:
    ",++Case);
    22         for(int i = 0 ; i < m ; i++){
    23             scanf("%d",&x);
    24             vector<int>::iterator it = lower_bound(v.begin(),v.end(),x);
    25             if(it == v.end())
    26                 printf("%d not found
    ",x);
    27             else{
    28                 if(*it == x)
    29                     printf("%d found at %d
    ",x,it - v.begin() + 1);
    30                 else
    31                     printf("%d not found
    ",x);
    32             }
    33         }
    34     }
    35     return 0;
    36 }
    View Code
  • 相关阅读:
    Spring事务的传播行为案例详细分析
    面试官:InnoDB一棵B +树可以存放多少行数据?
    Java面试题——数组求和统计
    Java算法题——牛牛消消乐
    Jenkins集成GitLab
    Kafka+ZooKeeper高可用集群部署
    Linux运维不会这些,别做工程师
    Linux系统通过Squid配置实现代理上网
    使用Openresty实现WAF防火墙功能
    谷歌浏览器插件(下载百度云盘)
  • 原文地址:https://www.cnblogs.com/cyb123456/p/5797623.html
Copyright © 2011-2022 走看看