用最短時間查詢有序順序表中的x,找不到則插入

2021-10-24 08:44:59 字數 800 閱讀 9555

問題描述:線性表(a1,a2,a3,...,an)中的元素遞增有序且按順序儲存於計算機中。設計一演算法,完成用最少時間在表中查詢數值為x的元素,若找到則將其與後繼元素想交換,若找不到則將其插入表中並使表中元素仍舊有序。

演算法設計思想:因為線性表遞增有序,又要求時間最短查詢,所以使用折半查詢法最好。

**及結果:

#include#include "線性表的順序表示和實現.cpp"

void searchexchangeinsert(sqlist &l,elemtype x)

printf("low = %d\n",low);

if(l.data[mid] == x && mid != l.length-1)

if(high < low)

listinsert_sq(l,low + 1,x); //不管怎麼樣,都是在low之前插入x

}int main()

printf("順序表l中現有的資料為:");

所有車的過橋最短時間

今晚幫朋友助攻遇到了一道題,當時有思路但是沒有寫出來,後來結合牛客網上的解答寫了出來,也不知道具體能ac多少道題,先放在這裡等大家指點吧 有n輛車藥陸續通過一座最大承重為w的橋,其中第i輛車的重量為w i 通過橋的時間為t i 要求第i輛車上橋的時間不早於第i 1輛車上橋的時間,任意時刻橋上所有車輛...

測試需要最短時間內找到最值錢的寶物

李和恆個人的理解是,軟體測試就像沙灘上的尋寶人,你不可能知道沙里埋了些什麼 有多少 在 尋寶人要在盡量短的時間裡面挖出盡量值錢的寶物。但極為諷刺的是,你不可能挖出所有的寶物,而且所有的寶物日後都會浮現出來,比如 海嘯地質運動什麼的。在這裡,測試工程師就是尋寶人,寶物就是bug。至於用什麼辦法尋寶,那...

華為面試題計算求和的最短時間問題

問題描述 問題分析 我們以nums 這5個數為例 實現 public static void main string args calculatorproblem solution newcalculatorproblem 定義mintime作為最後輸出的計算n個數花費的最短時間,初始化為0 int...