الگوریتم sequential search در زبان های برنامه نویسی

 

در این مقاله قصد بررسی الگوریتم جستجوی ترتیبی را داریم. مسئله دارای چهار پارامتر ورودی و یک پارامتر خروجی که جواب می باشد، است.

در این مسئله فرض می کنیم آرایه ایی از اعداد صحیح به صورت شکل زیر و با نام numbers داریم. می خواهیم عدد x را در آرایه numbers را از ایندکس location به صورت ترتیبی جستجو کنیم. در صورت درست بودن جواب ایندکس عدد مورد نظر در آرایه numbers برگردانده می شود. در غیر اینصورت منفی یک برگردانده می شود، یعنی عدد x در آرایه numbers وجود ندارد.

 

الگوریتم جستجوی ترتیبی

 

سورس الگوریتم مورد نظر را در زبان های برنامه نویسی C Java Python و PHP قرار خواهیم داد. به دلیل سادگی الگوریتم از توضیح بیشتر خودداری می کنیم.

 

الگوریتم جستجوی ترتیبی در PHP

این الگوریتم برای PHP7 نوشته شده است

 

function sequential_search(int $n, array $numbers, int $x, int $location = 0): int {
    while($location < $n && $numbers[$location] !== $x) {
        $location++;
    }
    if($location > $n) {
        $location = -1;
    }
    return $location;
}

 

الگوریتم جستجوی ترتیبی در Python

 

def sequentialSearch (n, numbers, x, location) :
    location = 0
    while location < n and numbers[location] != x:
	location += 1
    if location >= n:
	location = -1
    return location

 

الگوریتم جستجوی ترتیبی در Java

 

/**
 *
 * @author http://www.it3du.ir
 */
public class SequentialSearchJava {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        SequentialSearchJava obj = new SequentialSearchJava();
        int[] numbers = {1,2,3,4,5};
        int result = obj.sequentialSearch(5, numbers, 5, 0);
        System.out.println(result);
    }
    
    public int sequentialSearch(int n, int numbers[], int x, int location) {
        location = 0;
        while(location < n && numbers[location] != x) {
            location++;
        }
        if(location >= n) {
            location = -1;
        }
        return location;
    }
    
}

 

الگوریتم جستجوی ترتیبی در C

 

 

#include 
#include 

int main()
{
    int numbers[5] = {1,2,3,4,5};
    int result;
    result = seqSearch(5, numbers, 5, 0);
    printf("%d" ,result);
    return 0;
}

int seqSearch(int n, int numbers[], int x, int location)
{
    location = 0;
    while(location < n && numbers[location] != x)
    {
        location++;
    }
    if(location >= n)
    {
        location = -1;
    }
    return location;
}

 

 منبع: it3du.ir