寫乙個函式找出乙個整數陣列中第二大的數

2021-08-15 01:41:55 字數 537 閱讀 8650

如果是面試遇到這種型別的題,一定要多考慮一下了,畢竟題目不難,如果直接用排序去解題的話,面試官估計會比較失望了。因為這種型別的題,解法有很多,那麼別人當然是希望得到最高效的解法了。試想如果有一萬個數,如果用排序解答,是不是就浪費了大量的資源去將那些並不重要的數進行了排序。

#include 

void find(int a, int len)

else

if (a[i] > second)

second = a[i]; //第二大的數

}printf("the second number is: %d\n", second);

}int main()

; int length = sizeof(a) / sizeof(a[0]);

for (int i = 0; i < length; i++) //列印原有的陣列

printf("\n");

find(a, length);

return

0;}

寫乙個函式找出乙個整數陣列中,第二大的數

題目 寫乙個函式找出乙個整數陣列中,第二大的數。演算法分析 1 假設陣列中的前兩個元素就是最大和第二大,即max和smax 2 從陣列的第二個元素開始遍歷陣列,當有元素大於max的時候,將max賦值給smax,再將最大的那個元素賦值給max 3 如果當前元素小於max,並且大於smax,那麼就讓sm...

找出乙個整數陣列中,第二大的數

寫乙個函式找出乙個整數陣列中第二大的數 include include include define size 10 intarray 隨機產生乙個大小為size的整數陣列 void createarray int array 列印整數陣列 void printarray int array pri...

怎樣編寫乙個程式,把乙個有序整數陣列放到二叉樹中

分析 本題考察二叉搜尋樹的建樹方法,簡單的遞迴結構。關於樹的演算法設計一定要聯想到遞迴,因為樹本身就是遞迴的定義。而,學會把遞迴改稱非遞迴也是一種必要的技術。畢竟,遞迴會造成棧溢位,關於系統底層的程式中不到非不得以最好不要用。但是對某些數學問題,就一定要學會用遞迴去解決。include includ...