Algoritma Carian Linear (Linear Search) dalam C++- Penjelasan, Contoh dan Kod

Algoritma carian linear ialah kaedah mudah yang digunakan untuk mencari elemen tertentu dalam senarai. Algoritma ini berfungsi dengan memeriksa secara berurutan setiap elemen dalam senarai sehingga elemen yang dikehendaki ditemui atau keseluruhan senarai dilalui.

Bagaimana ia berfungsi

  1. Mulakan dari elemen pertama dalam senarai.
  2. Bandingkan elemen semasa dengan nilai sasaran.
  3. Jika elemen semasa bersamaan dengan nilai sasaran, algoritma menamatkan dan mengembalikan kedudukan elemen.
  4. Jika tidak, teruskan lelaran melalui elemen yang tinggal dalam senarai.
  5. Jika keseluruhan senarai dilalui tanpa mencari elemen sasaran, algoritma mengembalikan nilai yang menunjukkan tidak dijumpai.

Contoh

Katakan kita mempunyai senarai integer dan kita ingin mencari nombor 34 dalam senarai.

Senarai: {12, 45, 67, 89, 34, 56, 23, 90}

  1. Mulakan pada elemen pertama: 12. Bukan nombor yang dikehendaki.
  2. Beralih ke elemen seterusnya: 45. Bukan nombor yang diingini.
  3. Teruskan dengan elemen yang tinggal: 67, 89, 34. Elemen 34 sepadan dengan nombor yang dikehendaki.
  4. Algoritma menamatkan dan mengembalikan kedudukan 34, iaitu 4.

Contoh Kod dalam C++

#include <iostream>  
#include <vector>  
  
int linearSearch(const std::vector<int>& arr, int target) {  
    for(int i = 0; i < arr.size(); ++i) {  
        if(arr[i] == target) {  
            return i;  
        }  
    }  
    return -1;  
}  
  
int main() {  
    std::vector<int> numbers = {12, 45, 67, 89, 34, 56, 23, 90};  
    int target = 34;  
  
    int result = linearSearch(numbers, target);  
  
    if(result != -1) {  
        std::cout << "Element " << target << " found at position " << result << std::endl;  
    } else {  
        std::cout << "Element " << target << " not found in the array" << std::endl;  
    }  
  
    return 0;  
}  

Dalam contoh yang diberikan, kami telah menggunakan linearSearch fungsi untuk mencari nombor 34 dalam senarai integer. Hasilnya ialah kedudukan 34 dalam senarai(kedudukan bermula dari 0) atau -1 jika nombor itu tidak dijumpai.