Masyvas duomenų struktūrose: kas yra, koncepcija, įterpimo/ištrynimo operacijų pavyzdys

Kas yra masyvai?

Masyvas yra duomenų struktūra, skirta saugoti daugiau nei vieną duomenų elementą, kurio duomenų tipas yra panašus. Masyvo elementai yra paskirstomi gretimose atminties vietose. Šios atminties vietos vadinamos elementai to masyvo.

Bendras masyvo elementų skaičius vadinamas ilgio . Prieiga prie masyvo informacijos apie jo padėtį. Ši nuoroda vadinama indeksas arba indeksas .

Šioje duomenų struktūros pamokoje sužinosite,

Masyvo sąvoka

Masyvų schema

Aukščiau pateikta diagrama rodo, kad:

  1. Masyvas yra elementų talpykla.
  2. Elementai turi tam tikrą vertę ir duomenų tipą, pvz., „ABC“, „TRUE“ arba „FALSE“ ir kt.
  3. Kiekvienas elementas taip pat turi savo indeksą, kuris naudojamas norint pasiekti elementą.

Pastaba:

  • Elementai saugomi gretimose atminties vietose.
  • Indeksas visada yra mažesnis už bendrą masyvo elementų skaičių.
  • Kalbant apie sintaksę, bet kuris kintamasis, paskelbtas kaip masyvas, gali išsaugoti kelias reikšmes.
  • Beveik visos kalbos turi tą patį masyvų supratimą, tačiau turi skirtingus jų deklaravimo ir inicijavimo būdus.
  • Tačiau trys dalys visada išliks įprastos visose inicializacijose, ty masyvo pavadinimas, elementai ir elementų duomenų tipas.

Ši diagrama iliustruoja masyvo deklaravimo sintaksę „Python“ ir „C ++“ kalbose, kad supratimas išliktų tas pats, nors sintaksė gali šiek tiek skirtis įvairiomis kalbomis.

Suprasti masyvų sintaksę

  • Masyvo pavadinimas: būtinas lengva nuoroda prie elementų kolekcijos
  • Duomenų tipas: būtinas tipo tikrinimui ir duomenų vientisumui
  • Elementai: tai yra masyvo duomenų reikšmės

Kodėl mums reikia masyvų?

Štai keletas masyvų naudojimo priežasčių:

  • Masyvai geriausiai saugo kelias reikšmes viename kintamajame
  • Masyvai geriau ir greitai apdoroja daugelį vertybių
  • Masyvuose lengviau rūšiuoti ir ieškoti verčių

Masyvo kūrimas „Python“

„Python“ masyvai skiriasi nuo sąrašų; sąrašuose gali būti duomenų tipų masyvo elementų, tuo tarpu masyvuose gali būti tik to paties tipo duomenų.

„Python“ turi atskirą masyvų valdymo modulį, vadinamą masyvu, kurį turite importuoti prieš pradėdami dirbti.

Pastaba: masyve turi būti tikri skaičiai, tokie kaip sveikieji skaičiai ir plūdės, neleidžiamos eilutės.

Šis kodas iliustruoja, kaip galite sukurti sveikųjų skaičių masyvą „python“, kad išsaugotumėte sąskaitos likutį: | _+_ |

Masyvo paskelbimo būdai „Python“

Masyvą galite deklaruoti „Python“, inicijuodami jį naudodami šią sintaksę. | _+_ |

Šis paveikslėlis paaiškina sintaksę.

Masyvo sintaksė „Python“

  1. Nustatykite : nurodykite pavadinimą, kaip paprastai, kintamiesiems
  2. Modulis : „Python“ turi specialų modulį masyvams kurti, vadinamą „masyvu“ - prieš naudodami turite jį importuoti
  3. Metodas : masyvo modulis turi masyvo inicijavimo metodą. Tam reikia dviejų argumentų: tipo kodo ir elementų.
  4. Tipo kodas : nurodykite duomenų tipą naudodami galimus tipo kodus (žr. sąrašą žemiau)
  5. Elementai : nurodykite masyvo elementus laužtiniuose skliaustuose, pvz., [130,450,103]

Toliau pateiktoje lentelėje pateikiami palaikomų duomenų tipų tipų kodai:

Įveskite kodąC tipasPython tipasMinimalus dydis baitais
„c“anglischarakteris1
„B“nepasirašyta chartarpt1
„b“pasirašyta chartarpt1
'tu'Py_UNICODEUnicode simbolis2
'h'pasirašė trumpaitarpt2
„H“nepasirašytas trumpastarpt2
'aš'pasirašė tarpttarpt2
'Aš'nepasirašytas tarptilgas2
''pasirašė ilgaitarpt4
'THE'nepasirašytas ilgaiilgas4
„f“plūdėplūdė4
„d“dvigubasplūdė8

Kaip pasiekti konkrečią masyvo vertę?

Galite pasiekti bet kurį masyvo elementą naudodami jo indeksą.

Sintaksė

 import array balance = array.array('i', [300,200,100]) print(balance) 

PAVYZDYS

 arrayName = array.array(type code for data type, [array,items]) 

Šis paveikslėlis iliustruoja pagrindinę prieigos prie masyvo elementų pagal jų indeksą koncepciją.

Pasiekite masyvo elementą

Čia mes pasiekėme antrąją masyvo vertę naudodamiesi jo indeksu, kuris yra 1. Šio rezultato bus 200, o tai iš esmės yra antroji subalansuoto masyvo vertė. | _+_ |

IŠVESTIS

arrayName[indexNum]

Masyvo operacijos

„Python“ masyvo modulis turi atskiras funkcijas, skirtas masyvo operacijoms atlikti. Tai yra destruktyvus darbo su masyvais metodas, o tai reiškia, kad pakeitimas bus išsaugotas masyvo kintamajame.

Įdėti

Naudodami šią operaciją, galite įterpti vieną ar daugiau elementų į masyvą masyvo pradžioje, pabaigoje arba bet kuriame nurodytu masyvo indeksu. Šis metodas tikisi dviejų argumentų indekso ir vertės.

Sintaksė | _+_ |

Pavyzdys:

Pridėkime naują vertę iškart po antrojo masyvo elemento. Šiuo metu mūsų balanso masyve yra trys elementai 300, 200 ir 100. Taigi koks yra antrojo masyvo elemento, kurio vertė yra 200, indeksas, jei pasakėte 1.

Norėdami įterpti naują vertę tiesiai po „1“ indekso, įterpimo metodu turite nurodyti 2 indeksą, pavyzdžiui: | _+_ |

Dabar, norėdami patikrinti, ar įvesta nauja vertė, įveskite masyvo pavadinimą ir paspauskite klaviatūros klavišą Enter: | _+_ |

IŠVESTIS

balance[1]

Ištrinti

Naudodami šią operaciją galite ištrinti vieną elementą iš masyvo pagal vertę. Šis metodas priima tik vieną argumentą - reikšmę. Paleidus šį metodą, masyvo elementai pertvarkomi ir indeksai priskiriami iš naujo.

Sintaksė | _+_ |

Pavyzdys

Iš masyvo pašalinkime 150 reikšmę. Šiuo metu mūsų balanso masyve yra keturi elementai 300, 200, 150 ir 100. Taigi, norėdami pašalinti 150 iš masyvo, turime tik įvesti 150 metodo argumento viduje. Paprasta, tiesa? | _+_ |

Dabar, norėdami patikrinti, ar reikšmė buvo ištrinta, įveskite masyvo pavadinimą ir paspauskite klaviatūros klavišą Enter: | _+_ |

IŠVESTIS

 import array balance = array.array('i', [300,200,100]) print(balance[1]) 

PAIEŠKA

Naudodami šią operaciją, galite ieškoti masyvo elemento pagal jo vertę. Šis metodas priima tik vieną argumentą - reikšmę. Tai neardomasis metodas, o tai reiškia, kad jis neturi įtakos masyvo vertėms.

Sintaksė | _+_ |

Pavyzdys:

Raskime 150 reikšmę masyve. Šiuo metu mūsų balanso masyve yra keturi elementai 300, 200, 150 ir 100. Taigi, norint masyvo ieškoti 150, turime tik įvesti metodo argumento 150. Tai gana lengva. Šis metodas grąžina ieškomos vertės indeksą. | _+_ |

IŠVESTIS

200

ATNAUJINTI

Ši operacija yra gana panaši į įterpimo metodą, išskyrus tai, kad ji pakeis esamą vertę pagal nurodytą indeksą. Tai reiškia, kad tam tikram indeksui tiesiog priskirs naują vertę. Šis metodas tikisi dviejų argumentų indekso ir vertės.

Sintaksė | _+_ |

Pavyzdys

Tarkime, kad mūsų masyve yra keturi elementai 300, 200, 150 ir 100, o mes norime 150 pakeisti 145. Taigi koks yra indeksas 150?

Ačiū, jei pasakėte 2.

Norėdami pakeisti 150, turintį 2 indeksą, turite nurodyti 2 indeksą naudodami paprastą priskyrimo operatorių, tokį kaip šis: | _+_ |

Dabar, norėdami patikrinti, ar vertė atnaujinta, įveskite masyvo pavadinimą ir paspauskite klaviatūros klavišą Enter: | _+_ |

IŠVESTIS

arrayName.insert(index, value)

Traversas

Galite pereiti python masyvą naudodami kilpas, tokias kaip ši: | _+_ |

IŠVESTIS

 import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) 

Masyvo kūrimas C ++

Kuriant masyvus, C ++ kalba yra lankstesnė nei „Python“. Masyvus galite sukurti trimis anksčiau išvardytais būdais.

Šis kodas iliustruoja, kaip galite sukurti sveikųjų skaičių masyvą C ++, kad išsaugotumėte paskyros likutį: | _+_ |

Masyvo paskelbimo būdai C ++

Masyvą galite deklaruoti trimis sintaksės variantais. Kuris tinka jūsų programai; šis pasirinkimas priklauso nuo jūsų programos reikalavimų.

Deklaracija pagal dydį

Sintaksė

 import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance) 

Pavyzdys

array('i', [300,200,150,100])

Tik deklaracijos inicijavimo masyvo elementai

Sintaksė

arrayName.remove(value)

Pavyzdys

 import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance) balance.remove(150) 

Deklaracija pagal dydį ir inicijavimo masyvo elementai

Sintaksė

 import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance) balance.remove(150) print(balance) 

Pavyzdys

 array('i', [300,200,100])

Kaip pasiekti konkrečią masyvo vertę?

Galite pasiekti bet kurį masyvo elementą naudodami jo indeksą.

Sintaksė

arrayName.index(value)

Pavyzdys

 import array balance = array.array('i', [300,200,150,100]) print(balance.index(150)) 

Šis paveikslėlis iliustruoja pagrindinę prieigos prie masyvo elementų pagal jų indeksą koncepciją.

Prieiga prie masyvo elemento

Čia mes pasiekėme antrąją masyvo vertę naudodamiesi jo indeksu, kuris yra 1. Jo išvestis bus 200, o tai iš esmės yra antroji balanso masyvo vertė. | _+_ |

Išvestis | _+_ |

Masyvo operacijos C ++

Skirtingai nuo „Python“, „C ++“ turite patys užprogramuoti logiką, kaip atlikti įterpimo, ištrynimo, paieškos atnaujinimo ir perėjimo operacijas C ++ masyvuose.

Įdėti

Įterpimo operacijos logika yra tokia:

  • kilpą per masyvo elementus
  • perkelkite juos į didesnį indeksą
  • pridėti naują masyvo elementą tam tikrame indekse

Šiame pavyzdyje balanso masyve turime 5 elementus ir norime pridėti naują elementą iškart po 200 vertės. Tai reiškia, kad turime perkelti visus elementus po 200 į didesnį indeksą ir įterpti naują vertė 150. | _+_ |

Išvestis

2

Masyvo operacijos „Java“

Leiskite sukurti programavimą „Java“, šioje programoje mes iš vartotojo priimsime masyvo elementų dydį ir vertę. | _+_ |

Išvestis:- | _+_ |

Keisti elementą masyve:-

Atnaujinkite elementą pagal nurodytą indeksą.

„Java“ programa, skirta modifikuoti masyvo elementus | _+_ |

Išėjimas:-

arrayName.udpate(index, value)

Prieigos elementas masyve:-

Spausdinkite visus masyvo elementus.

„Java“ programa, skirta judėti masyve | _+_ |

Išėjimas:-

 import array balance = array.array('i', [300,200,150,100]) balance[2] = 145 

Santrauka:

  • Masyvas yra duomenų struktūra, skirta saugoti kelis duomenų elementus, turinčius panašų duomenų tipą
  • Identifikatorius, duomenų tipas, masyvo ilgis, elementai ir indeksas yra pagrindinės masyvo dalys
  • Naudokite indeksą masyvo elementų vertėms apdoroti
  • Masyvai puikiai palaiko nepažeistą duomenų tipą
  • Daugelyje kalbų masyvas sukuriamas nurodant identifikatorių, duomenų tipą ir įtrauktinus elementus
  • Masyvai geriausiai tinka apdoroti daugybę verčių, taip pat greitai rūšiuoti ir ieškoti
  • „Python“ turi modulius ir integruotus metodus pagrindinėms masyvo operacijoms atlikti, pvz., Įterpti, ištrinti, ieškoti, atnaujinti ir apeiti
  • „C ++“ reikia apibrėžti programas pagrindinėms masyvo operacijoms, tokioms kaip įterpimas, ištrynimas, paieškos atnaujinimas ir perėjimas