跳到内容

编程基础/数组搜索

来自维基教科书,开放的书籍,开放的世界

线性搜索或顺序搜索是一种在列表中查找目标值的方法。它按顺序检查列表中的每个元素,直到找到匹配项,或者直到所有元素都已搜索过。[1]

查找数组中的特定成员意味着搜索数组,直到找到该成员。该成员可能不存在,程序员必须在他的算法逻辑中处理这种可能性。

“线性搜索是一个非常简单的算法。它有时被称为顺序搜索,它使用循环来按顺序遍历数组,从第一个元素开始。它将每个元素与正在搜索的值进行比较,并在找到该值或遇到数组末尾时停止。如果正在搜索的值不在数组中,该算法将搜索到数组的末尾。”[2]

可以对数组中的最大值(最大值)或最小值(最小值)进行两种特定的线性搜索。最大值和最小值也称为最大值和最小值。请注意,以下最大值和最小值函数假设数组大小>=1。

伪代码

[编辑 | 编辑源代码]
Function Main
    Declare Integer Array ages[5]
    Declare Integer maximum
    Declare Integer minimum
    
    Assign ages = [49, 48, 26, 19, 16]

    Assign maximum = max(ages)
    Assign minimum = min(ages)

    Output "Maximum age is: " & maximum
    Output "Minimum age is: " & minimum
End

Function max (Integer Array array)
    Declare Integer maximum
    Declare Integer index
    
    Assign maximum = array[0]
    For index = 1 to Size(array) - 1
        If maximum < array[index] 
            Assign maximum = array[index] 
        End 
    End 
Return Integer maximum 

Function min (Integer Array array) 
    Declare Integer minimum 
    Declare Integer index 

    Assign minimum = array[0] 
    For index = 1 to Size(array) - 1 
        If minimum > array[index]
            Assign minimum = array[index]
        End
    End
Return Integer minimum
Maximum age is: 49
Minimum age is: 16

关键词

[编辑 | 编辑源代码]
线性搜索
使用循环来按顺序遍历数组。
最大值
"max" 是最大值的缩写,表示数组中最大的成员。
最小值
"min" 是最小值的缩写,表示数组中最小的成员。

参考文献

[编辑 | 编辑源代码]
  1. 维基百科:线性搜索
  2. 托尼·加迪斯、朱迪·沃尔特斯和戈弗雷·穆甘达,《C++ 早期对象入门第六版》(美国:皮尔逊 - 培生,2008)559。
华夏公益教科书