2024(e)ko martxoaren 21(a), osteguna

Arrayen algoritmoak







Arrayak lantzeko erabil daitezkeen algoritmoak:

01 Osorik Prozesatu

for iKont:=BEHEMUGA to iLuzera do

01 Osorik Prozesatu, arrayaren elementu guztiei prozesu jakin bat aplikatu (ikus 01_OsorikProzesatu.pas programa). Klasean adibide bat egin dugu: array bat datuz bete eta array horren edukia erakutsi 

02 Bilaketa Lineala

while (iKont<=iLuzera) and
   not boAurkitua do

02 Bilaketa Lineala, arrayaren elementu guztien artean elementu jakin baten posizioa zehaztu, hauek ikusi:
03a Minimoa
03b Maximoa


for iKont:=BEHEMUGA to iLuzera do

03a Minimoa edo 03b Maximoa, arrayan dagoen elementu txikienaren edo handienaren posizioa lortu:
  • 03a Minimoa, arrayaren baliorik txikienaren posizioa zehaztu: 03a_Minimoa.pas
  • 03b Maximoa, arrayaren baliorik handienaren posizioa zehaztu: 03b_Maximoa.pas

04 Gehitzea

  arNotak[iLuzera+1] := rElementua;
  iLuzera := iLuzera + 1;

04 Gehitzea, arrayaren bukaeran elementu berri bat jarri, arrayak toki librerik duen ala ez frogatu beharra dago (ikus 04_Gehiketa.pas programa


05 Txertaketa

  for ikont:=iLuzera downto iNon do
    arNotak[iKont+1] := arNotak[iKont];


05 Txertaketa, arrayaren iNon posizio ezagun batean elementu berri bat txertatu (ikus 05_Txertaketa.pas programa)


06 Ezabaketa

  for iIndizea:=iNon to iLuzera-1 do
    arNotak[iKont] := arNotak[iKont+1];


06 Ezabaketa, arrayaren iNon posizio ezagun batean dagoen elementua ezabatu (ikus 06_Ezabaketa.pas programa)


07 Hainbat Txertaketa

  for ikont:=iLuzera downto iNon do
    arNotak[iKont+1] := arNotak[iKont];


07 Hainbat txertaketa, arrayan elementu berriak sartu posizio jakin batzuetan. Bi algoritmo hauek ikusi, 07a gomendatzen da 07b zailagoa delako:
08 Hainbat Ezabaketa

  for iIndizea:=iNon to iLuzera-1 do
    arNotak[iKont] := arNotak[iKont+1];


08 Hainbat ezabaketa, arrayaren baldintza bat betetzen dituzten elementuak ezabatu. Bi algoritmo hauek ikusi, 08a gomendatzen da 08b zailagoa delako:

09 Sailkatzea


09 Sailkatzea edo ordenatzea, ikusi baina ez ikasi     [hau ez ikasi] 

10 Bilaketa Bitarra


10 Bilaketa bitarra array sailkatu/ordenatu batean, ikusi baina ez ikasi     [hau ez ikasi] 

 

iruzkinik ez:

Argitaratu iruzkina

Iruzkinen bat idazteko Google-ko kontu bat behar duzu. Iruzkin guztien moderazio-ardura blogeko administratzaileari dagokio.