給定乙個陣列arr = ,我們可以通過sort(arr,arr sizeof(arr)/ sizeof(arr [0]))進行排序。
所以現在陣列arr = ,排序陣列的置換索引為。
換句話說,原始陣列中的arr [2]現在是位置0中排序陣列中的最小元素
但是如果想返回排序索引表就需要額外加點東西了,
a是需要排序列表,b是原始索引表,實質是根據a的value去對b進行重排列。
這個[&a](int i, int j)->bool);是乙個lamda表示式,其中重要的是需要捕獲一下a才行,否則不認a。
vector<
int> data =
;
vector<
int>
index
(data.
size()
,0);
for(
int i =
0; i != index.
size()
; i++
)sort
(index.
begin()
, index.
end(),
[&](
const
int& a,
const
int& b));
for(
int i =
0; i != index.
size()
; i++
)
列印2,0,3,1
可以使用索引以排序順序檢索資料:
for
(int i =
0; i != index.
size()
; i++
)
如何獲取當前索引值
在用gridview控制項時,我們經常會碰到獲取當前行的索引,通過索引進行許多操作。例如,可以獲得當前行某乙個控制項元素 設定某一元素的值等等。下面結合例項介紹幾種獲得gridview當前行索引值的方法。例項 目的 獲取gridview中rowcommand的當前索引行。前台頁面 在gridview...
Mysql 獲取成績排序後的名次
其實就是輸出mysql的排序後的行號 rt 獲取單個使用者的成績在所有使用者成績中的排名 可以分兩步 1 查出所有使用者和他們的成績排名 select id,maxscore,rownum rownum 1 as rowno from t user,select rownum 0 b order b...
設定約束後 如何獲取正確的frame
1 任何原因引起view的尺寸被改變 2 呼叫viewcontroller的 viewwilllayoutsubviews 方法 3 未啟用autolayout情況,呼叫 layoutsubviews 4 啟用autolayout情況,呼叫viewcontroller的 updateviewcons...