Taulukko tietorakenteessa (Operations)
⚡ Älykäs yhteenveto
Tietorakenteiden taulukko tallentaa useita saman tietotyypin alkioita vierekkäisiin muistipaikkoihin, joista jokainen on tavoitettavissa indeksin avulla. Tässä opetusohjelmassa selitetään taulukoiden käsite, miksi ne ovat tärkeitä ja miten niitä luodaan ja käsitellään. Python, C++ja Java esimerkkien avulla.

Mikä on Array tietorakenteessa?
An ryhmä on tietorakenne, johon tallennetaan useampi kuin yksi saman tyyppinen tietoelementti. Taulukon alkiot varataan vierekkäisiin muistipaikkoihin, ja näitä paikkoja kutsutaan elementtejä taulukosta. Taulukon alkioiden kokonaismäärä on sen pituus.
Jokaiseen elementtiin päästään käsiksi sen sijainnin perusteella, ja tätä viittausta kutsutaan indeksi or alaindeksi.
Array-konsepti
Taulukon käsitekaavio
Yllä oleva kaavio havainnollistaa sitä:
- Taulukko on elementtien säiliö.
- Elementeillä on tietty arvo ja tietotyyppi, kuten ”ABC”, TRUE tai FALSE.
- Jokaisella elementillä on oma indeksi, jota käytetään sen käyttämiseen.
Huomautus:
- Elementit tallennetaan vierekkäisiin muistipaikkoihin.
- Indeksi on aina pienempi kuin taulukon kohteiden kokonaismäärä.
- Mikä tahansa taulukkona ilmoitettu muuttuja voi tallentaa useita arvoja.
- Lähes kaikilla kielillä on sama taulukoiden käsite, mutta ne eroavat toisistaan siinä, miten ne deklaroivat ja alustavat ne.
- Kolme osaa pysyy yhteisenä kaikissa alustuksissa: taulukon nimi, elementit ja elementtien tietotyyppi.
Seuraava kaavio näyttää syntaksin, jolla määritetään joukko sisään Python ja C++, mikä osoittaa, että käsite pysyy samana, vaikka syntaksi vaihtelee hieman kielten välillä.
Ymmärrä taulukoiden syntaksi
- Taulukon nimi: tarvitaan elementtikokoelman helppoa tarkastelua varten.
- Tietotyyppi: tarvitaan tyyppitarkistukseen ja tietojen eheyden tarkistamiseen.
- elementit: taulukossa olevat data-arvot.
Miksi tarvitsemme taulukoita?
- Taulukot sopivat erinomaisesti useiden arvojen tallentamiseen yhteen muuttujaan.
- Ne käsittelevät monia arvoja helposti ja nopeasti.
- Arvojen lajittelu ja hakeminen on helpompaa taulukoiden avulla.
Array:n luominen sisään Python
In Python, taulukot eroavat listoista: lista voi sisältää eri tietotyyppisiä alkioita, kun taas taulukko voi sisältää vain saman tietotyypin alkioita. Python siinä on erillinen moduuli taulukoiden käsittelyä varten, nimeltään array, joka sinun on tuotava ennen sen käyttöä.
Huomautus: Taulukon on sisällettävä reaalilukuja, kuten kokonaislukuja ja liukulukuja; merkkijonoja ei sallita.
Seuraava koodi luo kokonaislukutaulukon Python tilin saldojen tallentamiseen:
import array
balance = array.array('i', [300, 200, 100])
print(balance)
Tapoja ilmoittaa taulukko sisään Python
Voit ilmoittaa taulukon sisään Python samalla kun se alustetaan seuraavalla syntaksilla:
arrayName = array.array(typecode, [array_items])
Array in syntaksi Python
- tunniste: määritä nimi kuten yleensä muuttujille.
- Moduuli: Python sisältää erikoismoduulin nimeltä ”array”, joka sinun on tuotava ensin.
- Menetelmä: Array-moduulilla on metodi taulukon alustamiseen, joka ottaa vastaan kaksi argumenttia — typecode ja elements.
- Tyyppikoodi: Määritä tietotyyppi käyttämällä käytettävissä olevia tyyppikoodeja (katso alla oleva taulukko).
- elementit: Määritä taulukon alkiot hakasulkeissa, esimerkiksi [130, 450, 103].
Alla olevassa taulukossa luetellaan tuettujen tietotyyppien tyyppikoodit.
| Kirjoita koodi | C-tyyppi | Python Tyyppi | Minimikoko (tavua) |
|---|---|---|---|
| 'b' | allekirjoitettu merkki | int | 1 |
| 'B' | allekirjoittamaton char | int | 1 |
| "sinä" | Py_UNICODE | Unicode-merkki | 2 |
| 'h' | allekirjoitettu lyhyesti | int | 2 |
| 'H' | allekirjoittamaton lyhyt | int | 2 |
| 'I' | allekirjoitettu int | int | 2 |
| 'I' | allekirjoittamaton int | int | 2 |
| 'L' | allekirjoitettu pitkään | int | 4 |
| 'L' | allekirjoittamaton pitkä | int | 4 |
| 'F' | kellua | kellua | 4 |
| 'd' | kaksinkertainen | kellua | 8 |
Kuinka päästä käsiksi tiettyyn taulukon arvoon?
Voit käyttää mitä tahansa taulukon alkiota sen indeksin avulla.
Syntaksi:
arrayName[indexNum]
Esimerkiksi:
balance[1]
Käytä taulukkoelementtiä
Tässä käytimme taulukon toista arvoa indeksin 1 avulla. Tuloste on 200, joka on saldotaulukon toinen arvo.
import array
balance = array.array('i', [300, 200, 100])
print(balance[1])
lähtö:
200
Ryhmä Operasisään Python
Python array-moduuli tarjoaa erilliset funktiot taulukkooperaatioille. Nämä ovat destruktiivisia metodeja, eli muutos tallennetaan taulukkomuuttujaan.
liite
Tämä toiminto lisää yhden tai useamman alkion taulukon alkuun, loppuun tai mihin tahansa annettuun indeksiin. Se odottaa kahta argumenttia: indeksiä ja arvoa.
arrayName.insert(index, value)
Esimerkiksi: Jos haluat lisätä uuden arvon heti indeksin 1 (arvo 200) jälkeen, viittaa indeksiin 2 lisäysmetodissa.
import array
balance = array.array('i', [300, 200, 100])
balance.insert(2, 150)
print(balance)
lähtö:
array('i', [300, 200, 150, 100])
Poista
Tämä toiminto poistaa yhden alkion taulukosta arvon perusteella ja hyväksyy yhden argumentin. Suorituksen jälkeen alkiot järjestetään uudelleen ja indeksit määritetään uudelleen.
arrayName.remove(value)
Esimerkiksi:
import array
balance = array.array('i', [300, 200, 150, 100])
balance.remove(150)
print(balance)
lähtö:
array('i', [300, 200, 100])
Haku
Tämä operaatio etsii alkiota arvon perusteella ja palauttaa sen indeksin. Se on ei-tuhoava menetelmä, joten se ei muuta taulukon arvoja.
arrayName.index(value)
Esimerkiksi:
import array
balance = array.array('i', [300, 200, 150, 100])
print(balance.index(150))
lähtö:
2
Päivitykset
Päivitys korvaa olemassa olevan arvon tietyssä indeksissä käyttämällä yksinkertaista sijoitusoperaattoria.Python taulukoilla ei ole update() menetelmä.)
arrayName[index] = value
Esimerkiksi: Korvaa 150 (indeksissä 2) luvulla 145:
import array
balance = array.array('i', [300, 200, 150, 100])
balance[2] = 145
print(balance)
lähtö:
array('i', [300, 200, 145, 100])
poikittainen
Voit kulkea a Python taulukko silmukan avulla:
import array
balance = array.array('i', [300, 200, 100])
for x in balance:
print(x)
lähtö:
300
200
100
Array:n luominen sisään C++
C++ on joustavampi kuin Python taulukoita luotaessa. Voit luoda C++ taulukot kolmella tavalla. Seuraava koodi luo kokonaislukutaulukon C++ tilin saldojen tallentamiseen:
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
for (int i = 0; i < 3; i++)
{
cout << "value of i: " << balance[i] << endl;
}
return 0;
}
Tapoja ilmoittaa taulukko sisään C++
Voit määrittää taulukon kolmella tavalla ohjelmasi vaatimuksista riippuen.
Ilmoitus koon mukaan:
dataType arrayName[arraySize]; // e.g. int balance[3];
Määrittely, jossa käytetään vain taulukon alkioita:
dataType arrayName[] = {array_items}; // e.g. int balance[] = { 300, 200, 100 };
Ilmoitus koon ja nimikkeiden mukaan:
dataType arrayName[arraySize] = {array_items}; // e.g. int balance[3] = { 300, 200, 100 };
Kuinka päästä käsiksi tiettyyn taulukon arvoon C++?
Matriisielementin käyttäminen
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
lähtö:
200
Ryhmä Operasisään C++
Toisin kuin Pythonsisään C++ Sinun on ohjelmoitava logiikka itse lisäys-, poisto-, haku-, päivitys- ja läpikulkuoperaatioille.
liite
Lisäyslogiikka on seuraava: käydään läpi taulukon alkiot, siirretään ne suurempaan indeksiin ja lisätään sitten uusi alkio annettuun indeksiin. Alla olevassa esimerkissä on viisi alkiota ja 150 lisätään heti arvon 200 jälkeen.
#include <iostream>
#include <stdio.h>
main() {
int pos = 2;
int size = 4;
int balance[] = {300, 200, 100, 50, 0};
printf("BEFORE INSERT:\n");
for(int i = 0; i < 5; i++) {
printf("%d\n", balance[i]);
}
/* SHIFT ITEMS TO A GREATER INDEX */
for(int i = size; i >= pos; i--) {
balance[i+1] = balance[i];
}
/* INSERT VALUE AT THE DESIRED INDEX */
balance[pos] = 150;
printf("AFTER INSERT:\n");
for(int i = 0; i < 6; i++) {
printf("%d\n", balance[i]);
}
}
Ryhmä Operasisään Java
Luodaan ohjelma sisään Java joka hyväksyy käyttäjältä taulukon alkioiden koon ja arvot.
import java.util.Scanner;
public class AddElements {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("Enter the size of the array");
int n = sc.nextInt();
int arr[] = new int[n];
System.out.println("Enter Elements in the array");
for(int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
System.out.println("Elements in the array");
for(int j = 0; j < n; j++) {
System.out.print(arr[j] + " ");
}
}
}
Muokkaa elementtiä Java Ryhmä
Päivitä elementti sen indeksin perusteella.
import java.util.Scanner;
public class ModifyElement {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
int length = arr.length;
Scanner sc = new Scanner(System.in);
System.out.println("Array Elements Before modify");
for(int i = 0; i < length; i++) {
System.out.print(arr[i] + " ");
}
System.out.println("\nEnter the position to change");
int pos = sc.nextInt();
System.out.println("Enter the value");
int val = sc.nextInt();
arr[pos] = val;
System.out.println("Array Elements After modify");
for(int j = 0; j < length; j++) {
System.out.print(arr[j] + " ");
}
}
}
Käytä elementtejä a:ssa Java Ryhmä
Tulosta kaikki taulukon alkiot käymällä läpi taulukon.
public class AccessElements {
public static void main(String[] args) {
int arr[] = {1, 2, 3, 4, 5};
int length = arr.length;
System.out.println("Array Elements are:-");
for(int i = 0; i < length; i++) {
System.out.print(arr[i] + " ");
}
}
}





