037:函式物件的過濾器
037:函式物件的過濾器
題面
描述
程式填空輸出指定結果
#include <iostream>
#include <vector>
using namespace std;
struct A {
int v;
A() { }
A(int n):v(n) { };
bool operator<(const A & a) const {
return v < a.v;
}
};
// 在此處補充你的程式碼
template <class T>
void Print(T s,T e)
{
for(;s!=e; ++s)
cout << *s << ",";
cout << endl;
}
template <class T1, class T2,class T3>
T2 Filter( T1 s,T1 e, T2 s2, T3 op)
{
for(;s != e; ++s) {
if( op(*s)) {
* s2 = * s;
++s2;
}
}
return s2;
}
ostream & operator <<(ostream & o,A & a)
{
o << a.v;
return o;
}
vector<int> ia;
vector<A> aa;
int main()
{
int m,n;
while(cin >> m >> n) {
ia.clear();
aa.clear();
int k,tmp;
cin >> k;
for(int i = 0;i < k; ++i) {
cin >> tmp;
ia.push_back(tmp);
aa.push_back(tmp);
}
vector<int> ib(k);
vector<A> ab(k);
vector<int>::iterator p = Filter(ia.begin(),ia.end(),ib.begin(),FilterClass<int>(m,n));
Print(ib.begin(),p);
vector<A>::iterator pp = Filter(aa.begin(),aa.end(),ab.begin(),FilterClass<A>(m,n));
Print(ab.begin(),pp);
}
return 0;
}
輸入
多組資料
每組資料兩行
第一行是兩個整數 m 和 n
第二行先是一個整數k ,然後後面跟著k個整數
輸出
對每組資料,按原順序輸出第二行的後k個整數中,大於m且小於n的數
輸出兩遍
資料保證一定能找到符合要求的整數
思路
FilterClass<int>(m,n)
需要模板類的定義,然後作為函式引數傳遞,傳遞後在相應的函式中呼叫
需要注意的是結構體裡只過載<
所以我們在bool operator
裡也能只能用<
template<class T>
class FilterClass {
public:
T m, n;
FilterClass(T _m, T _n) :m(_m), n(_n) {
}
bool operator()(T t) {
if (t < n && m < t) return true;
return false;
}
};
相關文章
- 過濾函式函式
- DAX 第三篇:過濾器函式過濾器函式
- python函式每日一講 - filter函式過濾序列Python函式Filter
- lambda匿名函式sorted排序函式filter過濾函式map對映函式函式排序Filter
- matlab 濾波器中用到的函式Matlab函式
- 函式物件、裝飾器、閉包函式函式物件
- PHP中很屌但經常被各種忽略的過濾器函式PHP過濾器函式
- mixins,自定義指令,render函式(待研究填坑),過濾器函式過濾器
- 4、過濾器的使用及自定義過濾器過濾器
- 【JavaWeb】EL表示式&過濾器&監聽器JavaWeb過濾器
- 聚合函式及分組與過濾(GROUP BY … HAVING)函式
- 使用 PHP 的 Filter 函式(過濾器)高效、安全地獲取請求引數PHPFilter函式過濾器
- 過濾器過濾器
- 函式物件、物件、原型函式物件原型
- Spring Cloud Gateway中的過濾器工廠:重試過濾器SpringCloudGateway過濾器
- 誠翔濾器光刻膠過濾器濾芯:保障光刻過程的高效與安全過濾器
- Filter過濾器的使用Filter過濾器
- 點雲濾波器與過濾器過濾器
- js的函式和物件JS函式物件
- 13.gateway中的過濾器的介紹以及自定義過濾器Gateway過濾器
- CAN過濾器過濾器
- Filter過濾器Filter過濾器
- vue 過濾器Vue過濾器
- NetCore過濾器NetCore過濾器
- 代理過濾器過濾器
- Vue過濾器Vue過濾器
- DataV過濾器過濾器
- hbase過濾器過濾器
- Xor過濾器:比布隆Bloom過濾器更快,更小過濾器OOM
- Qt事件過濾器的使用QT事件過濾器
- Wireshark的捕獲過濾器過濾器
- Guava的布隆過濾器Guava過濾器
- 簡單的限流過濾器過濾器
- Spring Cloud Gateway ---GatewayFilter過濾器、過濾器工廠(入門)SpringCloudGatewayFilter過濾器
- 表單物件屬性過濾選擇器 2020-09-28物件
- 例項物件和函式物件的區別物件函式
- PHP 過濾器(Filter)PHP過濾器Filter
- vue---過濾器Vue過濾器