C 標準庫排序方法大全

2021-05-08 09:03:44 字數 603 閱讀 1965

這個題目有點兒無聊,跟茴香豆的「茴」字有幾種寫法一樣無聊,又是乙個無聊的老掉牙的話題——排序,問題依然是無聊至極——把輸入的單詞按順序(我可沒說是什麼順序)排列。當作是乙個總結吧。

按詞典排好說,如果你用vectorwords儲存單詞,只需用algorithm裡的sort即可:sort(words.begin(),words.end())。這玩意兒我閉著眼也能敲出來。但假如你用list的話……編譯器發脾氣了吧?(發脾氣是好的,要是沒有任何抱怨,趁早兒扔了吧)。list容器不支援隨機訪問,標準庫的sort沒法用到它上面。幸好list自己帶了乙個sort,所以要用words.list()。

如果要按和詞典相反的順序排呢?對sort而言,預設是採用「<」來比較的,如果讓它採用「大於」不就行了嗎?標準庫當然為此「預留了介面」。你可以先寫乙個比較函式,如compare,記著用大於號「>」比較:

bool

length_comp(

string

s1, 

string

s2)...

sort(words.begin(),words.end());

stable_sort(words.begin(),words.end(),length_comp);

C 標準庫 vector排序

前天要做乙個對c stl的vector容器做乙個排序操作,之前一直把vector當做乙個容量可自動變化的陣列,是的,陣列,所以打算按照對陣列進行排序的方法 用快速排序或是氣泡排序等演算法自己寫乙個排序的函式。後來覺得stl這麼強大,應該有它自己的排序方法 沒有好好學習啊 然後就去google了一下,...

C 標準庫擴充套件,給結構排序

c 標準庫的容器依賴less操作來比較元素的大小,比如std sort可以傳入乙個pred,提供元素的less比較方法,缺省會使用std less即呼叫元素的 操作符 對於自定義結構型別,可能需要根據乙個或者多個資料成員來比較其大小,比如如下人員資訊結構,需要結合三個字段進行排序,否則不能唯一確定大...

C 標準庫和C 標準模版庫

c 標準庫很大,在現在的情況下,c 標準庫確實越來越好,因為大的庫會包含大量的功能.標準庫中的功能越多,開發自己的應用程式時能借助的功能就越多,c 庫並非提供一切 很明顯的是沒有提供開發和圖形使用者介面的支援 但確實提供了很多.標準c 庫中主要有以下主要元件 標準c庫.i 0流技術.string.容...