zoukankan      html  css  js  c++  java
  • STL之search

    描述

    使用STL中的search函数,判断一个序列是否是另一个序列的子序列。

    部分代码已经给出,请补充完整,提交时请勿包含已经给出的代码。

     

    int main()
    {
        vector<int> vec1, vec2;
        int n, m, a;
        cin>>n>>m;
        while(n--)
        {
            cin>>a;
            vec1.push_back(a);
        }
        while(m--)
        {
            cin>>a;
            vec2.push_back(a);
        }
        Check(vec1, vec2);
        return 0;
    }

    输入

    第一行为一个正整数n和m,n和m为元素个数(n<=1000)。

    第二行有n个整数,表示序列1的所有元素。

    第三行有m个整数,表示序列2的所有元素。

    输出

    如果序列2是序列1的子序列,则输出所在子序列的始末位置。

    否则输出None。

    样例输入

     5 2
    1 3 2 4 5
    3 2

    样例输出

     2 3

    #include <iostream>
    #include <algorithm>
    #include <vector>
    using namespace std;
    void Check(vector<int > &vec1,vector<int> &vec2)
    {
        vector<int >::iterator iter1,iter2;
        int k=0;
        for(iter2=vec2.begin();iter2!=vec2.end();iter2++)
            k++;
        iter1=search(vec1.begin(),vec1.end(),vec2.begin(),vec2.end());
        if(iter1!=vec1.end()) cout<<int(iter1-vec1.begin())+1<<" "<<int(iter1-vec1.begin())+k<<endl;
        else cout<<"None"<<endl;
    }
    int main()
    {
        vector<int> vec1, vec2;
        int n, m, a;
        cin>>n>>m;
        while(n--)
        {
            cin>>a;
            vec1.push_back(a);
        }
        while(m--)
        {
            cin>>a;
            vec2.push_back(a);
        }
        Check(vec1, vec2);
        return 0;
    }

     

  • 相关阅读:
    jesperreport+ireport简单理解
    tomcat服务器奇异事件
    Spring+SpringMvc+Mybatis整合注意事项
    Websocket简单例子
    uploadify前台上传文件,java后台处理的例子
    违反完整约束条件 (XXX)
    插入排序
    选择排序
    冒泡算法(思路二)
    2-3树
  • 原文地址:https://www.cnblogs.com/andrew3/p/8894157.html
Copyright © 2011-2022 走看看