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 }
  • 相关阅读:
    BETA 版冲刺前准备
    第十一次作业
    Alpha 冲刺 (10/10)
    Alpha 冲刺 (9/10)
    Alpha 冲刺 (8/10)
    Alpha 冲刺 (7/10)
    Alpha 冲刺 (6/10)
    Alpha 冲刺 (5/10)
    Alpha 冲刺 (4/10)
    抽奖系统现场编程
  • 原文地址:https://www.cnblogs.com/general10/p/7118358.html
Copyright © 2011-2022 走看看