對一批資料進行排序,然後找出其中的最大最小值。
1)求陣列中的最大值
方法1:遍歷陣列,比對資料。
public static int getmax(int array)
return max;
}
方法2:先對陣列排序,然後尋找最後乙個元素
public static int getmaxbysort(int array)
兩者就效能方面方法一較第二種高,因為arrays.sort涉及元素移位操作(swap方法)
現在出現了乙個新問題,假設我要找的是陣列中第二大的元素呢,元素允許並列,類如
5,3,3,5,2這裡邊最大的是5,第二大的是3
思路:方法1:允許元素並列求第二大,那我們給並列元素篩選出來不就行了嗎,而set的特性是元素不重複
可以先將陣列排序,然後依次存入set中(linkedlist按照儲存順序儲存),於是就有了
public static int getsecond(int array)
integer array1 = set.toarray(new integer[0]);
second = array1[array1.length-2];
system.out.println(second);
return second;
}
方法2:刪除重複元素並公升序排列,這些都是treeset可以做到的
public static int getsecondbytreeset(int array)
哈哈,這樣就方便多了啊 求陣列中最大值
所有c語言 都是在loadrunner中執行 action 定義乙個int陣列 int len 記錄陣列元素個數 int max 所求的最大值 int i 迴圈變數 loadrunnerg中,不能在for迴圈中定義變數 len sizeof a sizeof int 陣列元素個數 陣列所佔字元數 陣...
求陣列中最大值和次最大值的較優演算法
先讓最大值為陣列首元素,然後用max和陣列的每乙個值進行比較,若小則交換,此時將max的舊值給次最大值submax。但如果陣列中最大值在遍歷前就已經找到,那麼submax將不再更新,所以在max值不更新的時候,要將submax與最近遍歷到的陣列與元素進行更新,以保證submax得到陣列中的次大值 如...
求陣列中最大的值
示例 求陣列 2,6,1,77,52,25,7 中的最大值 宣告乙個儲存最大元素的變數 max。預設最大值可以取陣列中的第乙個元素。遍歷這個陣列,把裡面每個陣列元素和 max 相比較。如果這個陣列元素大於max 就把這個陣列元素存到 max 裡面,否則繼續下一輪比較。最後輸出這個 max var a...