當前位置:編程學習大全網 - 編程軟體 - 有15個數按小到大的順序存放在壹個數組中,輸入壹個數,要求用折半查找法找出該數組中第幾個元素的值.求解釋

有15個數按小到大的順序存放在壹個數組中,輸入壹個數,要求用折半查找法找出該數組中第幾個元素的值.求解釋

比如給壹個4的數,程序第壹步從數組中取出排在中間數的數(i=7),即 第8個數89.

用89和4比較。如果大於89就往後循環查找,即查找89後的{144,233,377,570,671,703,812},

如果小於89就往前查找,即查找89前的]{1,4,9,13,21,34,55},不管往前還是往後最大循環次數都是7,所以while循環結束條件是(fabs(i-7)<8),即最大執行7次。

其實這個程序就第壹步查找是二分法。不算嚴格的二分。嚴格二分應該之後都是像第壹次查找那樣從中間開始取個值出來比較然後決定下壹步的循環方向。

  • 上一篇:成都高新區和平學校升學率
  • 下一篇:安徽萊泊瑞教育科技有限公司怎麽樣?
  • copyright 2024編程學習大全網