Tablica w strukturze danych: co to jest, tablice Operacje [Przykłady]

Co to jest tablica w strukturze danych?

An szyk to struktura danych służąca do przechowywania więcej niż jednego elementu danych o podobnym typie danych. Elementy tablicy są przydzielane w sąsiednich lokalizacjach pamięci. Te lokalizacje pamięci nazywane są Elementy tego układu. Nazywa się całkowitą liczbę elementów w tablicy długość.

Dostęp do szczegółów tablicy jest możliwy w odniesieniu do jej pozycji. To odniesienie nazywa się wskaźnik or indeks.

Pojęcie tablicy

Schemat koncepcyjny tablic
Schemat koncepcyjny tablic

Powyższy diagram ilustruje, że:

  1. Tablica jest kontenerem elementów.
  2. Elementy mają określoną wartość i typ danych, np. „ABC”, PRAWDA lub FAŁSZ itp.
  3. Każdy element ma również swój własny indeks, który służy do uzyskania dostępu do elementu.

Uwaga:

  • Elementy są przechowywane w sąsiadujących lokalizacjach pamięci.
  • Indeks jest zawsze mniejszy niż całkowita liczba elementów tablicy.
  • Jeśli chodzi o składnię, każda zmienna zadeklarowana jako tablica może przechowywać wiele wartości.
  • Prawie wszystkie języki tak samo rozumieją tablice, ale mają różne sposoby ich deklarowania i inicjowania.
  • Jednakże trzy części zawsze pozostaną wspólne dla wszystkich inicjalizacji, tj. nazwa tablicy, elementy i typ danych elementów.

Poniższy diagram ilustruje składnię deklarowania tablica w Python oraz C++ przedstawić, że zrozumienie pozostaje takie samo, chociaż składnia może się nieznacznie różnić w różnych językach.

Zrozumienie składni tablic

Zrozumienie składni tablic
  • Nazwa tablicy: niezbędne do łatwego odniesienia się do zbioru elementów
  • Typ danych: niezbędne do sprawdzania typu i integralności danych
  • Elementy: są to wartości danych obecne w tablicy

Dlaczego potrzebujemy tablic?

Oto kilka powodów, dla których warto używać tablic w strukturze danych:

  • Tablice najlepiej nadają się do przechowywania wielu wartości w jednej zmiennej
  • Tablice lepiej i szybciej przetwarzają wiele wartości
  • Sortowanie i wyszukiwanie wartości jest łatwiejsze w tablicach

Tworzenie tablicy w Python

In Python, tablice różnią się od list; listy mogą zawierać elementy tablicy różnych typów danych, podczas gdy tablice mogą zawierać tylko elementy tego samego typu danych.

Python posiada osobny moduł do obsługi tablic zwany array, który należy zaimportować przed rozpoczęciem pracy nad nimi.

Uwaga: Tablica musi zawierać liczby rzeczywiste, takie jak liczby całkowite i zmiennoprzecinkowe, nie dopuszcza się stosowania ciągów znaków.

Poniższy kod ilustruje, jak utworzyć tablicę liczb całkowitych w języku Python w celu przechowywania salda konta:

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

Sposoby deklarowania tablicy w Python

Możesz zadeklarować tablicę w Python podczas inicjalizacji używając następującej składni.

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

Poniższy obrazek wyjaśnia składnię.

Składnia tablicy w Python

Składnia tablicy w Python

  1. identyfikator: podaj nazwę jak zwykle, robisz to dla zmiennych
  2. Moduł: Python posiada specjalny moduł do tworzenia tablic, zwany „tablicą” – należy go zaimportować przed użyciem
  3. Metoda wykonania: moduł tablicy ma metodę inicjowania tablicy. Pobiera dwa argumenty, kod typu i elementy.
  4. Kod Typ: określ typ danych, korzystając z dostępnych kodów typów (patrz lista poniżej)
  5. Elementy: określ elementy tablicy w nawiasach kwadratowych, na przykład [130,450,103]

Poniższa tabela ilustruje kody typów dostępne dla obsługiwanych typów danych:

Wpisz kod Typ C Python Typ Minimalny rozmiar w bajtach
'C' zwęglać charakter 1
'B' niepodpisany char int 1
'b' podpisany char int 1
„ty” Py_UNICODE Znak Unicode 2
'h' podpisany krótko int 2
„H” bez znaku krótkie int 2
'ja' podpisał się m.in int 2
'JA' niepodpisany długie 2
'l' podpisany długo int 4
„L” bez znaku długo długie 4
'fa' unosić się unosić się 4
're' Podwójna unosić się 8

Jak uzyskać dostęp do określonej wartości tablicy?

Dostęp do dowolnego elementu tablicy można uzyskać za pomocą jego indeksu.

Składnia

arrayName[indexNum]

Przykład:

balance[1]

Poniższy rysunek ilustruje podstawową koncepcję dostępu do elementów tablicy według ich indeksu.

Uzyskaj dostęp do elementu tablicy

Uzyskaj dostęp do elementu tablicy

Tutaj uzyskaliśmy dostęp do drugiej wartości tablicy za pomocą jej indeksu, czyli 1. Wynikiem będzie 200, co w zasadzie jest drugą wartością zrównoważonej tablicy.

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

WYDAJNOŚĆ

200

Szyk Operanych

Moduł tablicowy Python ma oddzielne funkcje do wykonywania operacji na tablicach. Jest to destrukcyjna metoda operowania na tablicach, co oznacza, że ​​modyfikacja zostanie zapisana w zmiennej tablicowej.

wstawka

Za pomocą tej operacji możesz wstawić jeden lub więcej elementów do tablicy na początku, na końcu lub w dowolnym podanym indeksie tablicy. Ta metoda oczekuje dwóch argumentów: index i value.

Składnia

arrayName.insert(index, value)

Przykład:

Dodajmy nową wartość zaraz po drugim elemencie tablicy. Obecnie nasza tablica bilansu zawiera trzy elementy 300, 200 i 100. Jaki jest zatem indeks drugiego elementu tablicy o wartości 200, jeśli podałeś 1?

Aby wstawić nową wartość zaraz „po” indeksie 1, musisz odwołać się do indeksu 2 w swojej metodzie wstawiania, w następujący sposób:

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

Teraz, aby sprawdzić, czy nowa wartość została wstawiona, wpisz nazwę tablicy i naciśnij Enter na klawiaturze:

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

WYDAJNOŚĆ

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

Usunięcia

Za pomocą tej operacji możesz usunąć jeden element z tablicy według wartości. Ta metoda akceptuje tylko jeden argument, wartość. Po uruchomieniu tej metody elementy tablicy są ponownie układane, a indeksy są ponownie przypisywane.

Składnia

arrayName.remove(value)

Przykład:

Usuńmy wartość 150 z tablicy. Obecnie nasza tablica bilansu zawiera cztery elementy 300, 200, 150 i 100. Aby więc usunąć 150 z tablicy, wystarczy wpisać 150 w argumencie metody. Proste, prawda?

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

Teraz, aby sprawdzić, czy wartość została usunięta, wpisz nazwę tablicy i naciśnij klawisz Enter na klawiaturze:

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

WYDAJNOŚĆ

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

SZUKAJ

Za pomocą tej operacji możesz wyszukać element w tablicy na podstawie jego wartości. Ta metoda akceptuje tylko jeden argument, wartość. Jest to metoda nieniszcząca, co oznacza, że ​​nie wpływa na wartości tablicy.

Składnia

arrayName.index(value)

Przykład:

Wyszukajmy w tablicy wartość 150. Obecnie nasza tablica bilansu zawiera cztery elementy 300, 200, 150 i 100. Zatem, aby przeszukać tablicę 150, wystarczy wpisać 150 w argumencie metody. To całkiem proste. Metoda ta zwraca indeks szukanej wartości.

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

WYDAJNOŚĆ

2

Aktualizacja

Ta operacja jest dość podobna do metody insert, z tym wyjątkiem, że zastąpi istniejącą wartość pod podanym indeksem. Oznacza to, że po prostu przypisze nową wartość pod podanym indeksem. Ta metoda oczekuje dwóch argumentów: index i value.

Składnia

arrayName.udpate(index, value)

Przykład:

Załóżmy, że nasza tablica zawiera cztery elementy 300, 200, 150 i 100 i chcemy zastąpić 150 liczbą 145. Jaki jest zatem indeks 150?

Brawo, jeśli powiedziałeś 2.

Aby zastąpić liczbę 150 o indeksie 2, należy odwołać się do indeksu 2, korzystając z prostego operatora przypisania, takiego jak ten:

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

Teraz, aby sprawdzić, czy wartość została zaktualizowana, wpisz nazwę tablicy i naciśnij klawisz Enter na klawiaturze:

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

WYDAJNOŚĆ

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

Przemierzać

Możesz przeglądać tablicę Pythona, używając pętli, takich jak ta:

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

WYDAJNOŚĆ

300
200
100

Tworzenie tablicy w C++

C++ język jest bardziej elastyczny niż Python jeśli chodzi o tworzenie tablic. Możesz tworzyć C++ tablice na trzy sposoby wymienione powyżej.

Poniższy kod ilustruje sposób tworzenia tablicy liczb całkowitych w C++ do przechowywania salda konta:

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

Sposoby deklarowania tablicy w C++

Tablicę można zadeklarować w trzech wariantach składni. Który pasuje do Twojego programu; wybór ten opiera się na wymaganiach programu.

Deklaracja według rozmiaru

Składnia

dataType arrayName[arraySize];

Przykład:

int balance[3];

Tylko elementy tablicy inicjowania deklaracji

Składnia

dataType arrayName[] = {array, items};

Przykład:

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

Deklaracja według rozmiaru i elementów tablicy inicjującej

Składnia

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

Przykład:

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

Jak uzyskać dostęp do określonej wartości tablicy?

Dostęp do dowolnego elementu tablicy można uzyskać za pomocą jego indeksu.

Składnia

arrayName[indexNum]

Przykład:

balance[1]

Poniższy rysunek ilustruje podstawową koncepcję dostępu do elementów tablicy według ich indeksu.

Dostęp do elementu tablicy

Dostęp do elementu tablicy

Tutaj uzyskaliśmy dostęp do drugiej wartości tablicy za pomocą jej indeksu, czyli 1. Wynikiem będzie 200, co w zasadzie jest drugą wartością tablicy bilansu.

#include <iostream>
using namespace std;

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

  return 0;
}

Wydajność

200

Szyk Operaw C++

w odróżnieniu Pythonw C++ musisz sam zaprogramować logikę, która będzie wykonywać operacje wstawiania, usuwania, wyszukiwania, aktualizacji i przechodzenia C++ tablice.

wstawka

Logika operacji wstawiania jest następująca:

  • pętla po elementach tablicy
  • przesuń je do wyższego indeksu
  • dodaj nowy element tablicy o danym indeksie

W poniższym przykładzie mamy 5 elementów w tablicy balance i chcemy dodać nowy element tuż po wartości 200. Oznacza to, że musimy przesunąć wszystkie elementy po 200 do wyższego indeksu, a następnie wstawić naszą nową wartość 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]);
   }
}

Wydajność

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

Szyk Operaw Java

Stwórzmy program w Java, w tym program tablicowy w Java zaakceptujemy od użytkownika rozmiar i wartość elementów tablicy.

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

Wynik:-

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 

Zmodyfikuj element w szyku:-

Zaktualizuj element o podany indeks.

Zaprogramuj Java jak modyfikować elementy w tablicy

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

Wynik:-

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 

Element dostępu w tablicy: -

Wydrukuj wszystkie elementy tablicy.

Zaprogramuj Java jak poruszać się po tablicy

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

    }
}

Wynik:-

Array Elements are:-
1 2 3 4 5 

Podsumowanie

  • Tablica to struktura danych służąca do przechowywania wielu elementów danych o podobnym typie danych
  • Identyfikator, typ danych, długość tablicy, elementy i indeks to główne części tablicy
  • Użyj indeksu do przetwarzania wartości elementów tablicy
  • Tablice doskonale obsługują zachowanie nienaruszonego typu danych
  • W większości języków tablicę tworzy się poprzez określenie identyfikatora, typu danych i elementów, które mają zostać uwzględnione
  • Tablice najlepiej sprawdzają się w przetwarzaniu dużej liczby wartości oraz szybkim sortowaniu i wyszukiwaniu
  • Python zawiera moduły i wbudowane metody do wykonywania podstawowych operacji na tablicach, takich jak wstawianie, usuwanie, wyszukiwanie, aktualizowanie i przechodzenie
  • C++ potrzebuje programów definiujących podstawowe operacje tablicowe, takie jak wstawianie, usuwanie, wyszukiwanie, aktualizacja i przechodzenie

Podsumuj ten post następująco: