10.17
把
inline bool compareisbn(const sales_data &lhs, const sales_data rhs)
sort(sds.begin(), sds.end(),compareisbn);
改為
sort(sds.begin(), sds.end(), (const sales_data &lhs, const sales_data &rhs) );
10.18
void bigies(vectorwords, vector::size_type sz)
); //獲取乙個迭代器,指向滿足size() >= sz的元素
auto wc = find_if(words.begin(), words.end(), [sz] (const string &a) );
//計算滿足size >= sz的元素的數目
auto count = words.end() - wc;
cout << count <<" "<< make_plural(count, "word", "s") << " of length " << sz << " or lenger " << endl;
//列印長度大於等於給定值的單詞,每個單詞後接乙個空格
for_each(wc. words.end(), (const string &s) );
cout << endl;
}---------------------
原文:
答案
find_if接受一對迭代器,表示乙個範圍,第三個引數是乙個謂詞。返回第乙個使謂詞返回非0值得元素,如果不存在這樣的元素,返回為迭代器。
就本題而言,若使用find_if,要求序列已按字串長度遞增的順序排好序。返回第乙個長度》=sz的字串的位置wc,則所有滿足條件的字串位於[wc, end)之間。
而partition不要求序列已排序,他對所有的字串檢查長度是否》=sz,將滿足條件的字串移動到序列前端,不滿足條件的字串都移動到滿足條件的字串之後,返回滿足條件的範圍的尾後迭代器。因此滿足條件的字串位於範圍[begin, wz)之間。
10.19
將上一題程式中的partition換為stable_partition即可。
定製安裝作業系統(五)
2.5高階特性以及非技術策略 2.5.1安裝系統經驗之談 隨著業務的增長,伺服器增長越來越快,每次新增機器,都得重複系統安裝這個過程。機器越多工作量就越大,不管你用那種方式安裝,都會讓你耗費時間和精力。一直一來,大家都在不斷嘗試各種省事 快速的安裝方法,如用指令碼 以網路安裝等等。當然,除了技術改進...
定製安裝作業系統(五)
2.5高階特性以及非技術策略 2.5.1安裝系統經驗之談 隨著業務的增長,伺服器增長越來越快,每次新增機器,都得重複系統安裝這個過程。機器越多工作量就越大,不管你用那種方式安裝,都會讓你耗費時間和精力。一直一來,大家都在不斷嘗試各種省事 快速的安裝方法,如用指令碼 以網路安裝等等。當然,除了技術改進...
定製安裝作業系統(五)
2.5高階特性以及非技術策略 2.5.1安裝系統經驗之談 隨著業務的增長,伺服器增長越來越快,每次新增機器,都得重複系統安裝這個過程。機器越多工作量就越大,不管你用那種方式安裝,都會讓你耗費時間和精力。一直一來,大家都在不斷嘗試各種省事 快速的安裝方法,如用指令碼 以網路安裝等等。當然,除了技術改進...