Is bealach níos éifeachtaí é an t-algartam cuardaigh dénártha chun eilimint shonrach a chuardach i liosta sórtáilte. Murab ionann agus cuardach líneach, a sheiceálann eilimintí go seicheamhach, roinneann cuardach dénártha an liosta ina leatha agus cuireann sé an sprioceilim i gcomparáid leis an eilimint mheánach. Déantar an próiseas seo arís agus arís eile go dtí go bhfaightear an sprioceilimint nó go dtiocfaidh an raon cuardaigh folamh.
Conas a oibríonn sé
- Tosaigh leis an liosta iomlán sórtáilte.
- Faigh an eilimint lár den raon cuardaigh reatha.
- Déan comparáid idir an eilimint láir agus an luach sprice.
- Más ionann an eilimint lár agus an luach sprice, éiríonn leis an gcuardach.
- Má tá an eilimint lár níos mó ná an sprioc, cuardaigh sa leath clé den raon.
- Má tá an eilimint lár níos lú ná an sprioc, cuardaigh sa leath ceart den raon.
- Déan céimeanna 2-6 arís go dtí go bhfaighfear an sprioceilimint nó go dtiocfaidh an raon cuardaigh folamh.
Sampla
Déanaimis machnamh ar liosta sórtáilte slánuimhreacha agus ba mhaith linn an uimhir 34 a fháil ag baint úsáide as cuardach dénártha.
Liosta Sórtáilte: {12, 23, 34, 45, 56, 67, 89, 90}
- Tosaigh leis an liosta iomlán.
- Gné lár: 56(seasamh 4). Cuir i gcomparáid le 34.
- Tá 56 níos mó ná 34. Cuardaigh sa leath clé.
- Gné lár nua: 23(seasamh 1). Cuir i gcomparáid le 34.
- Tá 23 níos lú ná 34. Cuardaigh sa leath cheart.
- Gné lár nua: 45(seasamh 3). Cuir i gcomparáid le 34.
- Tá 45 níos mó ná 34. Cuardaigh sa leath clé.
- Gné lár nua: 34(seasamh 2). Sprioc aimsithe.
Cód Samplach i C++
Sa sampla tugtha, binarySearch
úsáidtear an fheidhm chun an uimhir 34 a fháil i liosta sórtáilte 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.