Algoritmi Linear i Kërkimit (Linear Search) në C++- Shpjegim, Shembull dhe Kodi

Algoritmi linear i kërkimit është një metodë e thjeshtë që përdoret për të gjetur një element specifik në një listë. Ky algoritëm funksionon duke kontrolluar në mënyrë sekuenciale çdo element në listë derisa të gjendet elementi i dëshiruar ose të kalohet e gjithë lista.

Si punon

  1. Filloni nga elementi i parë në listë.
  2. Krahasoni elementin aktual me vlerën e synuar.
  3. Nëse elementi aktual është i barabartë me vlerën e synuar, algoritmi përfundon dhe kthen pozicionin e elementit.
  4. Nëse jo, vazhdoni të përsërisni elementët e mbetur në listë.
  5. Nëse e gjithë lista përshkohet pa gjetur elementin e synuar, algoritmi kthen një vlerë që tregon se nuk u gjet.

Shembull

Le të themi se kemi një listë me numra të plotë dhe duam të gjejmë numrin 34 në listë.

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

  1. Filloni nga elementi i parë: 12. Jo numri i dëshiruar.
  2. Kaloni te elementi tjetër: 45. Jo numri i dëshiruar.
  3. Vazhdoni me elementët e mbetur: 67, 89, 34. Elementi 34 përputhet me numrin e dëshiruar.
  4. Algoritmi përfundon dhe kthen pozicionin 34, që është 4.

Shembull Kodi në 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;  
}  

Në shembullin e dhënë, ne kemi përdorur linearSearch funksionin për të gjetur numrin 34 në listën e numrave të plotë. Rezultati do të jetë pozicioni 34 në listë(pozicionet fillojnë nga 0) ose -1 nëse numri nuk gjendet.