file
1 9
1 10
1 12
1 6
2 4
2 100
2 23
2 101
2 99
3 10
3 998
3 1
3 90
求出首行相同的最大值和最小值的行進行輸出。
最大值:
awk 'end' file
解析:進行比較,以首行的第乙個欄位為下標建立陣列,如果下標的值小於第二個字段,那麼就將第二個欄位的值賦值給陣列的值,這裡需要說的是,開始陣列的值是0,所以是小於
$2是成立的,所以是理所當然的進行賦值。到最後進行輸出。
最小值:
awk '!(a[$1])end' file
解析:最小值的時候不能,簡單的更改乙個符號,把上面的小於號改為大於號就行,因為開始的時候a[$1]的值是
0,肯定是不大於
$2的,這時候沒有辦法進行比較,所以我這裡做的是,如果陣列的下表是第一次出現的話,我把這行的第二個字段賦值給陣列,然後進行比較。最後進行輸出。
經典例題 元素的最大值和次最大值
方法一 排序後查詢,直接呼叫sort 函式 特別注意sort 函式的用法 include using namespace std intmain sort a 1 a n cout 排序後輸出最後兩個元素即可。方法二 迴圈遍歷比較陣列元素 將陣列元素前兩個看作最大和次最大值,然後從第三個開始迴圈比較...
求陣列中最大值和次最大值的較優演算法
先讓最大值為陣列首元素,然後用max和陣列的每乙個值進行比較,若小則交換,此時將max的舊值給次最大值submax。但如果陣列中最大值在遍歷前就已經找到,那麼submax將不再更新,所以在max值不更新的時候,要將submax與最近遍歷到的陣列與元素進行更新,以保證submax得到陣列中的次大值 如...
qt中獲取容器Vector中的最大值和最小值
獲取qt容器中的最大值和最小值的做法 一 加上標頭檔案 include 二 加上如下的 qvector data 第一種表示最大值 qvector iterator max std max element std begin data std end data 第二種表示最大值 auto max s...