zoukankan      html  css  js  c++  java
  • 尽量使用标准库函数

    尽量使用标准库函数,不要“发明”已经存在的库函数。

     1 #include <iostream>
     2 #include <algorithm>
     3 #include <vector>
     4 #define ARRAY_SIZE 10
     5 /* run this program using the console pauser or add your own getch, system("pause") or input loop */
     6 
     7 using namespace std;
     8 
     9 //利用类模板生成实例
    10 typedef vector < int > IntArray;
    11 
    12 //显示数组
    13 void put_array(int x[],int size) {
    14     for(int i=0;i<size;i++)
    15         cout<<x[i]<<" ";
    16 }
    17 
    18 //显示vector容器中的元素
    19 void put_vector(IntArray v)
    20 {
    21     IntArray::iterator theIterator;
    22 
    23     for (theIterator=v.begin();theIterator!=v.end();++theIterator){
    24         cout<<(*theIterator)<<" ";
    25     }
    26 }
    27 
    28 //在main()函数中测试find()_end()算法
    29 int main(int argc, char** argv) {
    30 {
    31 //--------------------------------------------
    32 //    find_end()算法对普通数组的处理
    33 //---------------------------------------------
    34     int x[ARRAY_SIZE]={1,3,5,7,9,2,4,6,8,10};
    35     cout << "x[]: ";
    36     put_array(x,ARRAY_SIZE);
    37     cout<<endl;
    38     int y[]={5,7,9};
    39     cout << "y[]: ";
    40     put_array(y,3);
    41     cout<<endl;
    42 
    43     // find_end()算法查找,并显示查找结果
    44     int *p=find_end(x,x+ARRAY_SIZE,&y[0],&y[2]);
    45     if (p != x + ARRAY_SIZE)  {  //查到
    46         cout << "The first element that matches :" ;
    47         put_array(y,3);
    48         cout<< " is at location in x" << p - x<< endl;
    49     }
    50     else  {           //未查到                      
    51          cout << "The sequence does not contain any elements";
    52          cout<< " with value " ;
    53          put_array(&x[3],3);
    54     }
    55 
    56 //--------------------------------------------
    57 //    find_end()算法对vector容器的处理
    58 //---------------------------------------------
    59    //声明intvector容器对象
    60     IntArray intvector;
    61 
    62     //向intvector容器中插入元素
    63     for (int i=1; i<=10; i++) {
    64         intvector.push_back(i);
    65     };
    66 
    67     //显示intvector容器中的元素值
    68     cout << "intvector: ";
    69     put_vector(intvector);
    70     cout<<endl;
    71 
    72     IntArray temp;
    73     temp.push_back(5);
    74     temp.push_back(6);
    75     temp.push_back(7);
    76     cout << "temp: ";
    77     put_vector(temp);
    78     cout<<endl;
    79 
    80     // find_end()算法查找,并显示查找结果
    81     IntArray::iterator pos;
    82     pos=find_end(intvector.begin(),intvector.end(),temp.begin(),temp.end());
    83 
    84     if (pos != intvector.end())  {  //查到
    85         cout << "The first element that matches ";
    86         put_vector(temp);
    87         cout<< " is at location in intvector " <<pos - intvector.begin()<< endl;
    88     }
    89     else  {           //未查到                      
    90          cout << "The sequence does not contain any elements";
    91          cout<< " with value ";
    92         put_vector(temp);
    93         cout<< endl ;
    94     }
    95         return 0;
    96 }
    97 }
  • 相关阅读:
    响应式网页设计项目#1---Tribute Page to Kobe and Gigi---致敬科比和Gigi
    Vue---第二部分
    Vue---概述 第一部分
    SaaS应用“正益工作”发布,为大中型企业轻松构建移动门户
    6.24 AppCan移动开发者大会:议程重大更新,报名即将关闭
    【6.24-AppCan移动开发大会倒计时】科大讯飞来了!
    6.24 AppCan移动开发者大会,我爱我家即将闪亮登场!
    惊曝6.24AppCan移动开发大会参展名录,现场礼品超多!
    6.24AppCan移动开发者大会价值30万的展示机会归了谁?
    6月24日AppCan移动开发者大会礼品清单遭泄露
  • 原文地址:https://www.cnblogs.com/borter/p/9418301.html
Copyright © 2011-2022 走看看