2018 10 21 10 3定製操作

2021-08-29 13:57:21 字數 1218 閱讀 8998

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安裝系統經驗之談 隨著業務的增長,伺服器增長越來越快,每次新增機器,都得重複系統安裝這個過程。機器越多工作量就越大,不管你用那種方式安裝,都會讓你耗費時間和精力。一直一來,大家都在不斷嘗試各種省事 快速的安裝方法,如用指令碼 以網路安裝等等。當然,除了技術改進...