1.在乙個的陣列中查詢某個數
#include
#include
intmain()
;int tofind=2;
int i =0;
//利用for 語句的迴圈來使下標依次發生變化
for(i =
0; i <=
9; i++)}
system
("pause");
return0;
}
2.在一組有序的數字中找到某乙個數的位置
#include
#include
intmain()
;int left =0;
//關於陣列判定長度拿sizeof 來判定其範圍[left,right]
int right =
sizeof
(arr)
/sizeof
(arr[0]
)-1;
int mid;
//需要查詢的數值是1,看該陣列中那乙個下標對應的數值是1
int tofind =1;
while
(left <= right)
else
//往右邊查詢,更新right
if(arr[mid]
>tofind)
else}if
(left > right)
system
("pause");
return0;
}
執行結果:
理解:判定一組有序數列利用這折半查詢演算法相對較快
首先找到該陣列範圍的大小
令左邊 left = 0;
右邊利用(變化的等式來)判定right = sizeof (arr) / sizeof (arr[0]) - 1 的等式來判定來判定;
看需要查詢的數值大小與中間值大小關係,此處就需要if語句來進行判定選擇,然後依次對比就能得到所要求解的結果
本題較難理解的屬於區間範圍之間的判定:[left,right]
進行乙個小階段的總結
怎麼又開始寫blog了呢?因為我最近比較頹廢,起床太晚,七點以後,在教室每天除了記單詞外感覺沒什麼別的事情可做,就是心比較散了,曾經在小老師手裡有三道兵符,我已經用過一道了,我不想隨便用這個,要到最關鍵的時候,所謂,事不過三!明天開始一定早起 無論前面有多麼困難,或者有多少多少的與考研無關的 流浪,...
關於移除乙個數值演算法問題
給你乙個陣列 nums 和乙個值 val,你需要 原地 移除所有數值等於 val 的元素,並返回移除後陣列的新長度。不要使用額外的陣列空間,你必須僅使用 o 1 額外空間並 原地 修改輸入陣列。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 1 給定 nums 3,2,2,3 va...
乙個關於模糊查詢的寫法
今天在論壇上看到這樣一帖 share欄位是varchar型別的,裡面存放的資料是 1,2,24 格式的 現在我要找出該字段中所有包含1,2,3,4四個數字中任一數值的記錄。我最初的寫法 db.dbcmd.commandtext select from userinfo where share lik...