複製鏈接
請複製以下鏈接發送給好友

順序查找

鎖定
順序查找是按照序列原有順序對數組進行遍歷比較查詢的基本查找算法。
中文名
順序查找
外文名
In order to find
性    質
查找
特    點
順序

目錄

  1. 1 基本原理
  2. 2 代碼實現
  1. Java
  2. C
  3. C++
  1. python
  2. php

順序查找基本原理

對於任意一個序列以及一個給定的元素,將給定元素與序列中元素依次比較,直到找出與給定關鍵字相同的元素,或者將序列中的元素與其都比較完為止。

順序查找代碼實現

順序查找Java

package search;
/*
*  順序查找
* des 要查找的元素
* i 保存當前元素的下標
*/
public class OrderSearch {
	public static int ordersearch(int[] arry,int des){
		int i=0;
		for(;i<=arry.length-1;i++){
			if(des==arry[i])
			return i;
		}
		return -1;
	}
	public static void main(String[] args){
        int[] a=new int[]{2,3,5,6,7,3,};
        System.out.println(ordersearch(a,3));
	}
}

順序查找C

int sq_search(keytype keyp[],int n,keytype key)
{
int i;
for(i=0; i<n; i++)
if(key[i] == key)
return i;//查找成功
return -1;//查找失敗
}

順序查找C++

int Seqsch(ElemType A[ ],int n,KeyType K) {
//從順序表A的n個元素中順序查找關鍵字為K的元素,若成功返回其下標,否則返回-1
	int i;
	for( i=0;i<n;i++){
		if(A[i].key==K)
		break;
	}
	if(i<=n-1) //查找成功返回下標,否則返回-1
   		return i;
    else return -1;
}

順序查找python

# 最基本的查找算法,
# 基本原理:
# 對於任意一個序列以及一個給定元素,將給定元素與序列中元素依次比較,直到找出與給定關鍵字相同的數為止

import random
Range = 10
Length = 5
flag = 0
pos = -1

list = random.sample(range(Range),Length)
goal = random.randint(0,Range)
print('search ',goal,', in list:',list)

for i in range(Length):
    if list[i] == goal:
        flag = 1
        pos = i
        break

if flag:
    print('find in ',pos+1,'th place')
else:
    print('not found')

順序查找php

function seq_sch($array, $n, $k) {
	for($i=0; $i<$n; $i++) {
		if( $array[$i]==$k) break;  
	}
	if ($i<$n) {
		return $i;
	}
	else{
		return -1;
	}  
}