陣列中元素的查詢

2021-08-14 12:19:50 字數 739 閱讀 5717

二分法:

取陣列的兩個端點left,right,定義乙個mid=(left+right)/2表示中間元素。

比較需要查詢到元素與mid對應的數值大小,再根據其大小關係決定left,right的變化情況

#include#includeusing namespace std; 

int cmp(int x,int y)

printf("%d\n",mid+1);

} return 0;

}

順序查詢:

這個的優點是不需要是必須已經排好序的陣列裡查詢

這個就是直接用迴圈乙個乙個比較就可以了

#includeusing namespace std;

int main()

cout<利用c++自帶的find函式:

#include#include#includeusing namespace std;

int main()

{ string a;

char x;

int n;

cin>>a;

cin>>x;

n=a.find(x,0);//利用c++自帶的函式查詢尋找目標第一次出現的下標,第乙個引數是查詢的元素,第二個引數是開始查詢的下標

cout<

演算法 查詢陣列中元素

查詢演算法 1.線性查詢 缺點 效率不高,通過遍歷迴圈,乙個個查詢比對。2.二分法 通過死迴圈不斷地將陣列一分為二,得到中間元素,然後目標元素與中間元素進行比對,當出位置等於末位置時,退出。缺點 侷限性很大,只能用於排好序了地陣列 public class search class mysearch...

二維陣列中元素的查詢

題目 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排列。求該二維陣列中是否存在給定數字number。解題思路 實現 在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排列。求該二維陣列中是否存在給定數字number param...

Python演算法 分治法查詢陣列中元素最小最大值

給定陣列a1,a2,a3,an,找出陣列中最大值和最小值。陣列中兩兩各不相同 演算法思想類似於上圖,將陣列兩兩分為一組,如果陣列元素奇數個,就把最後乙個元素單獨分為一組,然後分別對每一組中相鄰兩個元素比較,把二者中值小的數放在陣列左邊,值大的數放在陣列右邊,只需比較n 2次就可以將陣列分組完成。這時...