2019-05-16 20:37:06
1.問題描述:在實際問題中,通常會遇到許多第二的問題。比如:第二名,第二大和第二小等。在已知的n個資料中找出其中第二小的資料。
2.根據問題描述,利用陣列a儲存已知資料,定義兩個變數,min1和min2,分別用來儲存資料中的第一小值和第二小值,對已知數字進行比較之後,便可從中選出第二小的資料,輸出即可。此演算法的時間複雜度為o(n).
3.演算法說明
型別名稱
含義演算法
second2(int a,int n)
一趟遍歷求第二小資料
形式引數陣列
a存放已知資料
形式引數變數
n資料個數
變數min1
最小值變數
min2
第二小值
4.**實現
#includeint second2(int a,int5.執行結果n) //second2函式找出第二小值
else
for(i=2;i) //從三個數開始遍歷完
if(a[i]
else
min2=a[i]; //否則,若它位於最小值與第二小值中間,將它賦給第二小值
}return
(min2); //返回第二小值
} /*主函式輸入n個數,儲存在a陣列中,呼叫second2函式,找出第二小值。*/
intmain()
1130 尋找第二小的數
描述 求n個整數中第二小的數。相同的整數看成乙個數。比如,有5個數分別是1,1,3,4,5,那麼第二小的數就是3。輸入輸入包含多組測試資料。輸入的第一行是乙個整數c,表示有c組測試資料 每組測試資料的第一行是乙個整數n,表示本組測試資料有n個整數 2 n 10 接著一行是n個整數 每個數均小於100...
尋找陣列中第二小的元素
尋找陣列中第二小的元素 示例 一 先把陣列進行公升序排序 排完序後再進行遍歷比較 public static void main string args 氣泡排序 for int i 0 i arr.length 1 i int secondnum arr 0 for int i 0 isecond...
OJ 1130 尋找第二小的數
描述 求n個整數中第二小的數。相同的整數看成乙個數。比如,有5個數分別是1,1,3,4,5,那麼第二小的數就是3。輸入輸入包含多組測試資料。輸入的第一行是乙個整數c,表示有c組測試資料 每組測試資料的第一行是乙個整數n,表示本組測試資料有n個整數 2 n 10 接著一行是n個整數 每個數均小於100...