C語言的基礎經典查詢演算法

2021-09-29 07:31:19 字數 1866 閱讀 3202

思路:從陣列頭迴圈遍歷至陣列尾,對比查詢,知道對比成功,然後輸出。

**實現:

#include

#pragma warning

(disable:

4996

)int main()

; int num =

sizeof

(a)/

sizeof

(a[0])

; int n =0;

scanf

("%d"

,&n)

; int i =0;

for(

; i < num; i++)}

if(i >= num)

system

("pause");

return0;

}

思路:二分查詢就是折半查詢,其基本思想是:首先選取表中間位置的記錄為關鍵字,將其關鍵字與給定關鍵字 n 進行比較,若相等,則查詢成功;若 n 值比該關鍵字值大,則要找的元素一定在右子表中,則繼續對右子表進行折半查詢:若 n 值比該關鍵字值小,則要找的元素一定在左子表中,繼續對左子表進行折半查詢。如此遞推,直到查詢成功或查詢失敗(或查詢範圍為 0)。

畫**析:

**實現:

#include

#include

#pragma warning

(disable:

4996

)int search

(int a[

], int n, int y)

else

if(y < a[mid]

)else

}return0;

}int main()

; int num =

sizeof

(a)/

sizeof

(a[0])

; int b =0;

int result =0;

printf

("please enter your number:\n");

while(1

)else

}system

("pause");

return0;

}

有了上面查詢演算法的基礎,我們來做乙個簡單的小時候經常的小遊戲吧!

為了提公升小遊戲的真實實用性,加入了登入程式介面。

#include

#include

#include

#pragma warning

(disable:

4996

)const char *name =

"xuenuo"

;const char *key =

"104934"

;void

showtime()

;void

login()

;void

game()

;void

play()

;void

login()

//登入

else

if(chance <=0)

}}}void

showtime()

//登入成功展示

printf

("\n");

}void

game()

}}void

play()

else

if(data < x)

else}}

int main()

C語言經典演算法2

1 隨機產生20個 10 50 的正整數存到陣列中,並求陣列中的所有元素最大值 最小值 平均值以及各元素之和 int maxindex 0,minindex 0 for int i 0 i 20 i if array minindex array i sum array i printf d,d,f...

C語言 查詢演算法

簡單查詢 順序查詢 從序列起始位置開始,逐個將序列中的元素與所要查詢的資料進行比較,有則查詢成功,如果查詢到序列最後乙個元素也沒有匹配,則查詢失敗 int ordersearch int a,int n,int data 二分查詢 二分查詢也稱折半查詢,其優點是速度快,缺點是要求資料必須是有序列序列...

C語言查詢演算法

1 折半查詢 思想 假設表中元素按照公升序排列,將表中間位置元素與查詢關鍵字比較,如果兩者相等,則查詢成功 否則利用中間位置元素將表分為前後兩個子表,如果中間元素大於查詢關鍵字,則進一步查詢前一子表,否則進一步查詢後一子表,直到找到查詢關鍵字即為查詢成功。優點 比較次數少,查詢速度快,平均效能好 缺...