Algartam Cuardach Líneach (Linear Search) i C++- Míniú, Sampla, agus Cód

Is modh simplí é an t-algartam cuardaigh líneach a úsáidtear chun eilimint shonrach a aimsiú i liosta. Oibríonn an algartam seo trí gach eilimint sa liosta a sheiceáil go seicheamhach go dtí go bhfaightear an eilimint atá ag teastáil nó go dtrasnaítear an liosta iomlán.

Conas a oibríonn sé

  1. Tosaigh ón gcéad eilimint sa liosta.
  2. Déan comparáid idir an eilimint reatha agus an luach sprice.
  3. Más ionann an eilimint reatha agus an spriocluach, críochnaíonn an t-algartam suíomh na heiliminte agus cuireann sé ar ais é.
  4. Mura bhfuil, lean ar aghaidh ag atriall trí na heilimintí atá fágtha sa liosta.
  5. Má thrasnaítear an liosta iomlán gan an sprioceilimint a aimsiú, filleann an t-algartam luach a léiríonn nach bhfuarthas é.

Sampla

Ligean le rá go bhfuil liosta slánuimhreacha againn agus ba mhaith linn an uimhir 34 a fháil ar an liosta.

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

  1. Tosaigh ag an gcéad eilimint: 12. Ní hé an uimhir atá ag teastáil.
  2. Téigh go dtí an chéad eilimint eile: 45. Ní hé an uimhir atá uait.
  3. Lean ar aghaidh leis na heilimintí atá fágtha: 67, 89, 34. Meaitseálann eilimint 34 an uimhir inmhianaithe.
  4. Críochnaíonn an algartam suíomh 34, is é sin 4, agus cuireann sé ar ais é.

Cód Samplach i 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;  
}  

Sa sampla tugtha, d'úsáideamar an linearSearch fheidhm chun an uimhir 34 a fháil i liosta na slánuimhreacha. Is é an toradh a bheidh air ná suíomh 34 ar an liosta(tosaíonn na poist ó 0) nó -1 mura bhfaightear an uimhir.