關於數值進行查詢的乙個總結

2021-09-29 10:33:44 字數 1145 閱讀 2434

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...