zoukankan      html  css  js  c++  java
  • C++学习笔记之泛型算法

    先贴个代码 有时间的再补笔记

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 
     4 //模板类在接收了参数之后会将参数实例化
     5 //自然可以接收 vector<string> 和 vector<int>
     6 
     7 template<typename T> void print(T vec) //打印该实例
     8 {
     9     for(auto it:vec)
    10     {
    11         cout<<it<<" ";
    12     }
    13     cout<<endl;
    14 }
    15 
    16 template<typename T> void solve(T &vec) //经典的去重算法
    17 {
    18     print(vec);
    19     sort(vec.begin(),vec.end()); //排序
    20     auto over=unique(vec.begin(),vec.end()); //去重
    21     vec.erase(over,vec.end()); //删除进行unique之后最后的迭代器之后的内容
    22     print(vec);
    23 }
    24 
    25 int main()
    26 {
    27     string str;
    28     vector<string>vec;
    29     freopen("in.txt","r",stdin);
    30     while(cin>>str)
    31     {
    32         if(str[0]>='0'&&str[0]<='9')
    33         {
    34             break;
    35         }
    36         vec.push_back(str);
    37     }
    38     solve(vec);
    39     int tmp;
    40     vector<int>vec1;
    41     while(cin>>tmp)
    42     {
    43         vec1.push_back(tmp);
    44     }
    45     solve(vec1);
    46     return 0;
    47 }
  • 相关阅读:
    Codeforces Round #534 (Div. 2) D. Game with modulo 交互题
    传球游戏 dp
    欧拉通路和欧拉回路
    HDU 1116
    HDU 4970
    HDU 4557
    HDU 4864
    HDU 1565
    HDU 3046
    HDU 4240
  • 原文地址:https://www.cnblogs.com/general10/p/7118358.html
Copyright © 2011-2022 走看看