C語言陣列之查詢

2021-09-13 18:58:03 字數 824 閱讀 4028

也稱作線性查詢法。基本思想:利用迴圈順序掃瞄整個陣列,一次將每個元素與待查詢的元素進行比較,若找到則停止迴圈,輸出其位置值;若所有的元素都比較後仍為找到,則迴圈結束,輸出未找到。

#include

intbansearch

(int a,

int n,

int x)

;int

main()

while(-

1)return0;

}//函式定義

intsearch

(int a,

int n,

int x)

}return-1

;}

這種查詢雖然簡單,但是效率較低,存在最好情況與最壞情況,對於規模較小或者無序排列的陣列,適合用。當被查詢的資料集合已經是有序排列時,適合用折半查詢。

基本思想:分而治之的方法。首先選取陣列中間的元素,將其與查詢鍵進行比較,若二者相等,則查詢鍵被找到,返回陣列下標;否則就將查詢範圍縮小為原來的一半,若查詢鍵小於中間元素,就在前一半的陣列元素找,反之就在後一半元素中找,還找不到就在1/4處找,直到找到為止。

//函式按公升序排序的有n個元素的長整型陣列a中,折半找到值為x的元素

intbansearch

(int a,

int n,

int x)

return-1

;}

本節通過對向函式傳遞一維陣列的方式,對陣列元素進行排序和查詢,主要需要知道用陣列名作函式引數時需要注意的點。下一節介紹向函式傳遞二維陣列的方式,以後還會重點敘述資料結構中重要的兩個模組:查詢與排序。

c語言 查詢陣列元素

題目描述 輸入n個整數構成乙個陣列,在這個陣列中查詢x是否存在,如果存在,刪除x,並輸出刪除元素後的陣列。如果不存在,輸出 not found 定義乙個查詢函式find 在陣列a中查詢x,若找不到函式返回 1,若找到返回x的下標,函式原型如下 int find int a,int n,int x 然...

C語言 陣列查詢及替換

演算法訓練 陣列查詢及替換 時間限制 1.0s 記憶體限制 512.0mb 問題描述 給定某整數陣列和某一整數b。要求刪除陣列中可以被b整除的所有元素,同時將該陣列各元素按從小到大排序。如果陣列元素數值在a到z的ascii之間,替換為對應字母。元素個數不超過100,b在1至100之間。輸入格式 第一...

C語言陣列元素的查詢

順序查詢也叫線性查詢,是一種簡單的查詢演算法,其實現方法是從序列的起始元素開始,逐個將序列中的元素與所要查詢的元素進行比較,如果序列中有元素與所要查詢的元素相等,那麼查詢成功,如果查詢到序列的最後乙個元素都不存在乙個元素與所要查詢的元素值相等,那麼表明查詢失敗。線性查詢陣列元素 param int ...