參考:
例:大整數排序。
對n個長度最長可達到1000的數進行排序。
輸入第一行為乙個整數n,(1<=n<=100)。
接下來的n行每行有乙個數,數的長度範圍為1<=len<=1000。
每個數都是乙個正數,並且保證不包含字首零。
#include
#include
#include
#include
using
namespace std;
bool
cmp(string& s1, string& s2)
else
if(s1.
size()
== s2.
size()
&& s1 < s2)
return
false;}
//別人的寫法:
bool
cmp(
const string& s1,
const string& s2)
return s1 < s2;
//若長度相等按字串大小公升序排序
}int
main()
sort
(s.begin()
, s.
end(
),cmp)
;for
(auto
& x : s)
}}
輸入乙個四行五列的矩陣,找出每列最大的兩個數。按照樣例輸出的格式將每列最大的兩個數輸出,如果最大的兩個數中的乙個數在這一列中有多個相同的值,則行值取行值小的那乙個。
輸出時要保留原矩陣的行列順序,即在原矩陣中行值小的,在輸出矩陣中的行值依然小。
;//對每一列元素先按元素值排序,再把最大的兩個按下標排序
for(
int i =
0; i <5;
++i)
sort
(t, t +
4, cmp)
;sort
(t +
2, t +
4, cmp1)
; res[i]
= t[2]
.val;
res[i +5]
= t[3]
.val;
}for
(int i =
0; i <10;
++i)
}結構體排序
#include
#include
#include
#include
#include
using
namespace std;
struct employees
employees
(int id,string name,
int age):id
(id)
,name
(name)
,age
(age)};
bool
cmp(employees& e1,employees& e2)
else
if(e1.age==e2.age && e1.id
else
if(e1.age==e2.age && e1.id==e2.id && e1.name
else
return
false;}
intmain()
sort
(emp,emp+n,cmp)
;for
(int i=
0;i<
min(
3,n)
;++i)
}
之前學習的二維陣列的排序和字串的自定義排序:
lambda表示式
()()
前k個高頻詞
class
solution
vector rec;
for(
auto
&[key, value]
: cnt)
sort
(rec.
begin()
, rec.
end(),
[&](
const string& a,
const string& b)
->
bool);
rec.
erase
(rec.
begin()
+ k, rec.
end())
;return rec;}}
;
class
solution
auto cmp =
(const pair
int>
& a,
const pair
int>
& b)
; priority_queue
int>
, vector
int>>
,decltype
(cmp)
>
que(cmp)
;for
(auto
& it : cnt)
} vector
ret(k)
;for
(int i = k -
1; i >=
0; i--
)return ret;}}
;
sort自定義排序
1.sort介紹 用於c 中,對給定區間所有元素進行排序。使用的排序方法類似於快排的方法,時間複雜度為n log2 n 執行效率較高 標頭檔案 include algorithm 2.sort使用方法 sort函式有3個引數,sort first,last,cmp 其中,first是元素的起始位址,...
sort自定義型別排序
乙個很簡單的問題,不過也磨了我好一會,在些總結記錄。1.對於不用寫自定義資料結構的情況 static int cmp const pair x,const pair y if x.second y.second return x.second y.second else return x.first...
自定義對結構體排序(sort)
大家都知道,快速排序是不穩定的排序方法。如果對於陣列 現的任意a i a j iinput 本題目包含多組輸入,請處理到檔案結束。對於每組資料,第一行有乙個正整數n 0output 對於每組資料,如果演算法是正確並且穩定的,就在一行裡面輸出 right 如果演算法是正確的但不是穩定的,就在一行裡面輸...