Tömb az adatstruktúrában: Mi az, tömbök Operaciók [Példák]

Mi az a tömb az adatszerkezetben?

An sor egy adatstruktúra több, hasonló adattípusú adatelem tárolására. Egy tömb elemei a szomszédos memóriahelyeken vannak lefoglalva. Ezeket a memóriahelyeket ún elemek abból a tömbből. Egy tömb elemeinek teljes számát hívjuk meg hossz.

A tömb részleteit a pozíciójáról érheti el. Ezt a hivatkozást ún index or alsó index.

A tömb fogalma

A tömbök fogalmi diagramja
A tömbök fogalmi diagramja

A fenti diagram azt szemlélteti, hogy:

  1. A tömb elemek tárolója.
  2. Az elemek meghatározott értékkel és adattípussal rendelkeznek, például „ABC”, TRUE vagy FALSE stb.
  3. Minden elemnek saját indexe is van, amely az elem elérésére szolgál.

Jegyzet:

  • Az elemek összefüggő memóriahelyeken tárolódnak.
  • Egy index mindig kisebb, mint a tömbelemek teljes száma.
  • Szintaxis szempontjából minden tömbként deklarált változó több értéket is tárolhat.
  • Szinte minden nyelv azonos módon érti a tömböket, de eltérő módon deklarálják és inicializálják őket.
  • A három rész azonban mindig közös marad az összes inicializálásnál, azaz a tömbnév, az elemek és az elemek adattípusa.

A következő diagram az an deklarálás szintaxisát mutatja be tömb be Python és a C++ bemutatni, hogy a megértés ugyanaz marad, bár a szintaxis kissé eltérhet a különböző nyelveken.

Ismerje meg a tömbök szintaxisát

Ismerje meg a tömbök szintaxisát
  • Tömb neve: szükséges az elemek gyűjteményének egyszerű hivatkozásához
  • Adattípus: szükséges a típusellenőrzéshez és az adatok integritásához
  • elemek: ezek a tömbben lévő adatértékek

Miért van szükségünk tömbökre?

Íme néhány ok, amiért tömböket használunk az adatstruktúrában:

  • A tömbök a legjobbak több érték tárolására egyetlen változóban
  • A tömbök könnyebben és gyorsan dolgoznak fel sok értéket
  • A tömbökben egyszerűbb az értékek rendezése és keresése

Tömb létrehozása a ben Python

In Python, a tömbök különböznek a listáktól; a listák adattípusú tömbelemeket tartalmazhatnak, míg a tömbök csak azonos adattípusú elemeket tartalmazhatnak.

Python rendelkezik egy külön modullal a tömbök kezelésére, az úgynevezett array-t, amelyet importálni kell, mielőtt elkezdené dolgozni rajtuk.

Jegyzet: A tömbnek valós számokat kell tartalmaznia, például egész számokat és lebegőpontokat, karakterláncok nem megengedettek.

A következő kód bemutatja, hogyan hozhat létre egész számokat tartalmazó tömböt a pythonban a számlaegyenleg tárolására:

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

A tömb deklarálásának módjai Python

Ebben deklarálhat egy tömböt Python miközben inicializálja a következő szintaxis használatával.

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

A következő kép a szintaxist magyarázza.

A tömb szintaxisa be Python

A tömb szintaxisa be Python

  1. Azonosító: adjon meg egy nevet, mint általában a változókhoz
  2. Modulok: Python rendelkezik egy speciális modullal a tömbök létrehozására, az úgynevezett „tömböt” – ezt importálni kell használat előtt
  3. Módszer: a tömbmodulnak van egy metódusa a tömb inicializálására. Két argumentumra van szükség, a típuskódra és az elemekre.
  4. Típus kód: adja meg az adattípust a rendelkezésre álló típuskódokkal (lásd az alábbi listát)
  5. Elemek: adja meg a tömb elemeit szögletes zárójelben, például [130,450,103]

Az alábbi táblázat a támogatott adattípusokhoz elérhető típuskódokat mutatja be:

Írja be a kódot C Típus Python típus Minimális méret bájtban
'c' faszén karakter 1
„B” aláíratlan char int 1
„b” aláírt char int 1
'u' Py_UNICODE Unicode karakter 2
„h” röviden aláírva int 2
„H” aláíratlanul rövid int 2
'én' aláírt int int 2
'ÉN' aláíratlan int hosszú 2
'én' hosszan aláírva int 4
„L” aláíratlanul hosszú hosszú 4
'F' úszik úszik 4
'd' kétszeresére úszik 8

Hogyan lehet elérni egy adott tömbértéket?

A tömb bármely elemét elérheti az index használatával.

Szintaxis

arrayName[indexNum]

Példa:

balance[1]

A következő kép szemlélteti a tömbelemek indexük alapján történő elérésének alapelvét.

Hozzáférés egy tömbelemhez

Hozzáférés egy tömbelemhez

Itt a tömb második értékéhez fértünk hozzá az indexével, ami 1. Ennek kimenete 200 lesz, ami lényegében a kiegyensúlyozott tömb második értéke.

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

KIMENET

200

Sor OperaTIONS

A tömb modulja Python külön funkciói vannak a tömbműveletek végrehajtásához. Ez egy destruktív módszer a tömbökkel való működésre, ami azt jelenti, hogy a módosítás a tömbváltozóba kerül mentésre.

betétlap

Ezzel a művelettel egy vagy több elemet beszúrhat egy tömbbe a tömb elejére, végére vagy a tömb bármely adott indexére. Ez a módszer két argumentumot vár: index és érték.

Szintaxis

arrayName.insert(index, value)

Példa:

Adjunk hozzá egy új értéket közvetlenül a tömb második eleme után. Jelenleg az egyenlegtömbünk három elemből áll: 300, 200 és 100. Tehát mi az indexe a második 200-as értékű tömbelemnek, ha 1-et mondott.

Ahhoz, hogy az új értéket közvetlenül az 1. index „után” illessze be, hivatkoznia kell a 2. indexre a beszúrási metódusban, így:

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

Most annak ellenőrzéséhez, hogy az új érték beszúrásra került-e, írja be a tömb nevét, és nyomja meg az Enter billentyűt a billentyűzeten:

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

KIMENET

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

töröl

Ezzel a művelettel érték szerint törölhet egy elemet egy tömbből. Ez a módszer csak egy argumentumot, értéket fogad el. A módszer futtatása után a tömbelemek átrendeződnek, és az indexek hozzárendelődnek.

Szintaxis

arrayName.remove(value)

Példa:

Távolítsuk el a 150-es értéket a tömbből. Jelenleg a mérlegtömbünk négy elemből áll: 300, 200, 150 és 100. Tehát ahhoz, hogy eltávolítsuk a 150-et a tömbből, csak 150-et kell beírnunk a method argumentumba. Egyszerű, igaz?

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

Most annak ellenőrzéséhez, hogy az érték törölve lett-e, írja be a tömb nevét, és nyomja meg az Enter billentyűt a billentyűzeten:

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

KIMENET

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

KERESÉS

Ezzel a művelettel az értéke alapján kereshet egy elemet egy tömbben. Ez a módszer csak egyetlen érvet, értéket fogad el. Ez egy roncsolásmentes módszer, ami azt jelenti, hogy nincs hatással a tömbértékekre.

Szintaxis

arrayName.index(value)

Példa:

Keressük a tömbben a 150-es értéket. Jelenleg az egyensúlyi tömbünk négy elemből áll: 300, 200, 150 és 100. Tehát ahhoz, hogy a 150-et keressük a tömbben, csak a 150-et kell beírnunk a method argumentumba. Ez elég könnyű. Ez a metódus a keresett érték indexét adja vissza.

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

KIMENET

2

UPDATE

Ez a művelet nagyon hasonlít a beszúrási módszerhez, azzal a különbséggel, hogy lecseréli az adott indexnél meglévő értéket. Ez azt jelenti, hogy egyszerűen hozzárendel egy új értéket az adott indexhez. Ez a módszer két argumentumot vár: index és érték.

Szintaxis

arrayName.udpate(index, value)

Példa:

Tételezzük fel, hogy a tömbünk négy elemből áll: 300, 200, 150 és 100, és a 150-et 145-tel akarjuk helyettesíteni. Tehát mi az index 150?

Gratulálok, ha azt mondtad, hogy 2.

A 150-es indexű 2 lecseréléséhez a 2-es indexre kell hivatkoznia egyszerű hozzárendelési operátor használatával, például a következővel:

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

Most, hogy ellenőrizze, hogy az érték frissült-e, írja be a tömb nevét, és nyomja meg az Enter billentyűt a billentyűzeten:

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

KIMENET

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

Traverse

A Python tömbön áthaladhat hurkok használatával, például ez:

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

KIMENET

300
200
100

Tömb létrehozása a ben C++

C++ nyelv rugalmasabb, mint Python ha tömbök létrehozásáról van szó. Létrehozhatsz C++ tömbök az előbb említett három módon.

A következő kód bemutatja, hogyan hozhat létre egész számokat tartalmazó tömböt C++ számlaegyenleg tárolása:

#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;
}

A tömb deklarálásának módjai C++

Egy tömböt három szintaxisváltozatban deklarálhatunk. Melyik illik a programodhoz; ez a választás a programkövetelményeken alapul.

Nyilatkozat méret szerint

Szintaxis

dataType arrayName[arraySize];

Példa:

int balance[3];

Csak a nyilatkozat inicializálási tömb elemei

Szintaxis

dataType arrayName[] = {array, items};

Példa:

int balance[] = { 300, 200, 100 };

Nyilatkozat méret és inicializálás tömb elemei szerint

Szintaxis

dataType arrayName[arraySize] = {array, items};

Példa:

int balance[3] = { 300, 200, 100 };

Hogyan lehet elérni egy adott tömbértéket?

A tömb bármely elemét elérheti az index használatával.

Szintaxis

arrayName[indexNum]

Példa:

balance[1]

A következő kép szemlélteti a tömbelemek indexük alapján történő elérésének alapelvét.

Hozzáférés egy tömbelemhez

Hozzáférés egy tömbelemhez

Itt a tömb második értékéhez fértünk hozzá az indexe segítségével, ami 1. Ennek kimenete 200 lesz, ami lényegében a mérleg tömb második értéke.

#include <iostream>
using namespace std;

int main()
{
  int balance[3] = { 300, 200, 100 };
  cout << balance[1];

  return 0;
}

teljesítmény

200

Sor Operabe C++

Eltérően Python-ban C++ Önnek kell programoznia a logikát a beszúrási, törlési, keresési frissítési és bejárási műveletek végrehajtásához C++ tömbök.

betétlap

A beillesztési művelet logikája a következő:

  • végigpörgetni a tömb elemeit
  • áthelyezni őket egy nagyobb indexre
  • új tömbelem hozzáadása egy adott indexhez

A következő példában 5 tétel van az egyenlegtömbben, és egy új elemet szeretnénk hozzáadni közvetlenül a 200-as érték után. Ez azt jelenti, hogy a 200 utáni összes tételt át kell helyeznünk egy nagyobb indexbe, majd be kell illesztenünk az új elemet. értéke 150.

#include <iostream>
#include <stdio.h>

main() {
   int pos = 2;
   int size = 4;
   int balance[] = {300,200,100,50,0};
   
   printf("BEFORE INCREMENT: \n");
   for(int i = 0; i<5; i++) {
      printf("%d\n",balance[i]);
   }

   /* FOR SHIFTING ITEMS TO A GREATER INDEX */
   for(int i = size; i >= pos; i--) {
       balance[i+1]=balance[i];
   }

   /* FOR INSERTING VALUE AT OUR DESIRED INDEX */   
   balance[pos] = 150;
   
   printf("AFTER INCREMENT: \n");
   

   /* FOR PRINTING THE NEW ARRAY */   
   for(int i = 0; i<6; i++) {
      printf("%d\n",balance[i]);
   }
}

teljesítmény

BEFORE INCREMENT
300
200
100
50
0
AFTERINCREMENT
300
200
150
100
50
0

Sor Operabe Java

Készítsünk egy programozást Java, ebben tömb program be Java elfogadjuk a felhasználótól a tömbelemek méretét és értékét.

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]+" ");
        }
    }
}

Kimenet:-

Enter the size of the array

5
Enter Elements in the array

1
2
3
4
5
Elements in the array
1 2 3 4 5 

Elem módosítása a tömbben:-

Frissítsen egy elemet a megadott indexszel.

Program be Java a tömb elemeinek módosításához

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 where you want to change in an array");
        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]+" ");
        }
    }
}

Kimenet:-

Array Elements Before modify
1 2 3 4 5 
Enter the position where you want to change in an array

2
Enter the value
8
Array Elements After modify
1 2 8 4 5 

Elérési elem a tömbben: -

Nyomtassa ki az összes tömbelemet.

Program be Java hogy hogyan lehet bejárni a tömbben

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]+" ");
        }

    }
}

Kimenet:-

Array Elements are:-
1 2 3 4 5 

Összegzésként

  • A tömb több, hasonló adattípussal rendelkező adatelem tárolására szolgáló adatstruktúra
  • Az azonosító, az adattípus, a tömb hossza, az elemek és az index a tömb fő részei
  • A tömbelemek értékeinek feldolgozásához használja az indexet
  • A tömbök kiválóan támogatják az adattípusok érintetlenségét
  • A legtöbb nyelven egy tömb létrehozása az azonosító, az adattípus és a belefoglalandó elemek megadásával történik
  • A tömbök a legjobbak nagyszámú érték feldolgozására, valamint a gyors rendezésre és keresésre
  • Python modulokkal és beépített módszerekkel rendelkezik az alapvető tömbműveletek végrehajtásához, mint például a beszúrás, törlés, keresés, frissítés és bejárás
  • C++ definiáló programokra van szüksége az olyan alapvető tömbműveletekhez, mint a beszúrás, törlés, keresés frissítés és bejárás