Pole v datové struktuře: Co je to, pole Operations [Příklady]
Co je pole v datové struktuře?
An řada je datová struktura pro uložení více než jedné datové položky, která má podobný datový typ. Položky pole jsou alokovány na sousedních paměťových místech. Tato paměťová místa se nazývají prvky toho pole. Zavolá se celkový počet prvků v poli délka.
Podrobnosti pole jsou přístupné o jeho poloze. Tato reference se nazývá index or index.
Koncept pole

Výše uvedený diagram ukazuje, že:
- Pole je kontejner prvků.
- Prvky mají určitou hodnotu a datový typ, například „ABC“, TRUE nebo FALSE atd.
- Každý prvek má také svůj vlastní index, který se používá pro přístup k prvku.
Poznámka:
- Prvky jsou uloženy na souvislých paměťových místech.
- Index je vždy menší než celkový počet položek pole.
- Z hlediska syntaxe může každá proměnná, která je deklarována jako pole, uložit více hodnot.
- Téměř všechny jazyky mají stejné chápání polí, ale mají různé způsoby, jak je deklarovat a inicializovat.
- Tři části však vždy zůstanou společné ve všech inicializacích, tj. název pole, prvky a datový typ prvků.
Následující diagram ilustruje syntaxi deklarace an pole v Python si C++ prezentovat, že porozumění zůstává stejné, i když se syntaxe může v různých jazycích mírně lišit.
- Název pole: nezbytné pro snadný odkaz na kolekci prvků
- Datový typ: nezbytné pro kontrolu typu a integritu dat
- Prvky: toto jsou datové hodnoty přítomné v poli
Proč potřebujeme pole?
Zde je několik důvodů pro použití polí v datové struktuře:
- Pole jsou nejlepší pro ukládání více hodnot do jedné proměnné
- Pole jsou lepší ve zpracování mnoha hodnot snadno a rychle
- Řazení a vyhledávání hodnot je jednodušší v polích
Vytvoření pole v Python
In Python, pole se liší od seznamů; seznamy mohou mít položky polí datových typů, zatímco pole mohou mít pouze položky stejného datového typu.
Python má samostatný modul pro práci s poli nazvaný array, který musíte importovat, než na nich začnete pracovat.
Poznámka: Pole musí obsahovat reálná čísla, jako jsou celá čísla a plovoucí čísla, žádné řetězce nejsou povoleny.
Následující kód ukazuje, jak můžete vytvořit celočíselné pole v pythonu pro uložení zůstatku účtu:
import array balance = array.array('i', [300,200,100]) print(balance)
Způsoby, jak deklarovat pole Python
Můžete deklarovat pole v Python při jeho inicializaci pomocí následující syntaxe.
arrayName = array.array(type code for data type, [array,items])
Následující obrázek vysvětluje syntaxi.
- identifikátor: zadejte název jako obvykle, jako u proměnných
- Modul: Python má speciální modul pro vytváření polí, nazvaný „array“ – před použitím jej musíte importovat
- Metoda: modul pole má metodu pro inicializaci pole. Vyžaduje dva argumenty, typový kód a prvky.
- Zadejte kód: specifikujte datový typ pomocí dostupných typových kódů (viz seznam níže)
- Prvky: zadejte prvky pole v hranatých závorkách, například [130,450,103]
Následující tabulka ilustruje typové kódy dostupné pro podporované datové typy:
Zadejte kód | Typ C | Python Typ | Minimální velikost v bajtech |
---|---|---|---|
'C' | spálit | znak | 1 |
'B' | nepodepsaný char | int | 1 |
'b' | podepsaný char | int | 1 |
'u' | Py_UNICODE | Znak Unicode | 2 |
'h' | podepsáno krátce | int | 2 |
'H' | bez znaménka krátký | int | 2 |
„já“ | podepsané int | int | 2 |
„Já“ | neoznačené int | dlouhý | 2 |
'l' | podepsané dlouhé | int | 4 |
'L' | bez podpisu dlouho | dlouhý | 4 |
'F' | vznášet se | vznášet se | 4 |
'd' | zdvojnásobit | vznášet se | 8 |
Jak získat přístup ke konkrétní hodnotě pole?
K libovolné položce pole můžete přistupovat pomocí jejího indexu.
Syntax
arrayName[indexNum]
Příklad:
balance[1]
Následující obrázek ilustruje základní koncept přístupu k položkám polí podle jejich indexu.
Zde jsme přistoupili k druhé hodnotě pole pomocí jeho indexu, který je 1. Výstupem tohoto pole bude 200, což je v podstatě druhá hodnota vyváženého pole.
import array balance = array.array('i', [300,200,100]) print(balance[1])
VÝSTUP
200
Řada Operace
Modul pole Python má samostatné funkce pro provádění operací s polem. Toto je destruktivní metoda práce s poli, což znamená, že úprava bude uložena v proměnné pole.
Vložit
Pomocí této operace můžete vložit jednu nebo více položek do pole na začátek, konec nebo jakýkoli daný index pole. Tato metoda očekává dva argumenty index a hodnotu.
Syntax
arrayName.insert(index, value)
Příklad:
Přidejme novou hodnotu hned za druhou položku pole. V současné době má naše balanční pole tři položky 300, 200 a 100. Jaký je tedy index druhé položky pole s hodnotou 200, pokud jste řekli 1.
Chcete-li vložit novou hodnotu hned „za“ index 1, musíte ve své metodě vložení odkazovat na index 2, například takto:
import array balance = array.array('i', [300,200,100]) balance.insert(2, 150)
Nyní, abyste ověřili, zda byla vložena nová hodnota, zadejte název pole a stiskněte Enter na klávesnici:
import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance)
VÝSTUP
array('i', [300,200,150,100])
Vymazat
Pomocí této operace můžete odstranit jednu položku z pole podle hodnoty. Tato metoda přijímá pouze jeden argument, hodnotu. Po spuštění této metody jsou položky pole znovu uspořádány a indexy jsou znovu přiřazeny.
Syntax
arrayName.remove(value)
Příklad:
Odeberme hodnotu 150 z pole. V současné době má naše pole rovnováhy čtyři položky 300, 200, 150 a 100. Abychom tedy z pole odstranili 150, musíme do argumentu metody zadat pouze 150. Jednoduché, že?
import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance) balance.remove(150)
Nyní, abyste ověřili, zda byla hodnota odstraněna, zadejte název pole a stiskněte Enter na klávesnici:
import array balance = array.array('i', [300,200,100]) balance.insert(2, 150) print(balance) balance.remove(150) print(balance)
VÝSTUP
array('i', [300,200,100])
VYHLEDÁVÁNÍ
Pomocí této operace můžete vyhledat položku v poli na základě její hodnoty. Tato metoda přijímá pouze jeden argument, hodnotu. Jedná se o nedestruktivní metodu, což znamená, že neovlivňuje hodnoty pole.
Syntax
arrayName.index(value)
Příklad:
Pojďme hledat hodnotu 150 v poli. V současné době má naše balanční pole čtyři položky 300, 200, 150 a 100. Abychom tedy v poli prohledali 150, musíme do argumentu metody zadat pouze 150. To je docela snadné. Tato metoda vrací index hledané hodnoty.
import array balance = array.array('i', [300,200,150,100]) print(balance.index(150))
VÝSTUP
2
UPDATE
Tato operace je velmi podobná metodě vložení, kromě toho, že nahradí stávající hodnotu na daném indexu. To znamená, že jednoduše přiřadí novou hodnotu danému indexu. Tato metoda očekává dva argumenty index a hodnotu.
Syntax
arrayName.udpate(index, value)
Příklad:
Předpokládejme, že naše pole má čtyři položky 300, 200, 150 a 100 a my chceme nahradit 150 číslem 145. Jaký je tedy index 150?
Díky, pokud jsi řekl 2.
Chcete-li nahradit 150, které má index 2, musíte odkazovat na index 2 pomocí jednoduchého operátoru přiřazení, jako je tento:
import array balance = array.array('i', [300,200,150,100]) balance[2] = 145
Nyní, abyste ověřili, zda byla hodnota aktualizována, zadejte název pole a stiskněte Enter na klávesnici:
import array balance = array.array('i', [300,200,150,100]) balance[2] = 145 print(balance)
VÝSTUP
array('i', [300,200,145,100])
přejít
Pole pythonu můžete procházet pomocí smyček, jako je tato:
import array balance = array.array('i', [300,200,100]) for x in balance: print(x)
VÝSTUP
300 200 100
Vytvoření pole v C++
C++ jazyk je pružnější než Python pokud jde o vytváření polí. Můžete tvořit C++ pole třemi výše uvedenými způsoby.
Následující kód ukazuje, jak můžete vytvořit celočíselné pole v C++ uložit zůstatek na účtu:
#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; }
Způsoby, jak deklarovat pole C++
Pole můžete deklarovat ve třech variantách syntaxe. Který vyhovuje vašemu programu; tato volba je založena na požadavcích vašeho programu.
Prohlášení podle velikosti
Syntax
dataType arrayName[arraySize];
Příklad:
int balance[3];
Pouze položky pole inicializace deklarace
Syntax
dataType arrayName[] = {array, items};
Příklad:
int balance[] = { 300, 200, 100 };
Deklarace podle velikosti a položky inicializačního pole
Syntax
dataType arrayName[arraySize] = {array, items};
Příklad:
int balance[3] = { 300, 200, 100 };
Jak získat přístup ke konkrétní hodnotě pole?
K libovolné položce pole můžete přistupovat pomocí jejího indexu.
Syntax
arrayName[indexNum]
Příklad:
balance[1]
Následující obrázek ilustruje základní koncept přístupu k položkám polí podle jejich indexu.
Zde jsme přistoupili k druhé hodnotě pole pomocí jeho indexu, který je 1. Výstupem tohoto pole bude 200, což je v podstatě druhá hodnota balančního pole.
#include <iostream> using namespace std; int main() { int balance[3] = { 300, 200, 100 }; cout << balance[1]; return 0; }
Výstup
200
Řada Operav C++
Na rozdíl od Python, v C++ musíte si sami naprogramovat logiku pro provádění operací vkládání, mazání, aktualizace vyhledávání a procházení C++ pole.
Vložit
Logika operace vkládání je následující:
- procházet položky pole
- přesuňte je na vyšší index
- přidat novou položku pole na daný index
V následujícím příkladu máme v poli zůstatku 5 položek a chceme přidat novou položku hned za hodnotu 200. To znamená, že musíme všechny položky po 200 posunout na vyšší index a poté vložit nový hodnotu 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]); } }
Výstup
BEFORE INCREMENT 300 200 100 50 0 AFTERINCREMENT 300 200 150 100 50 0
Řada Operav Java
Pojďme vytvořit programování v Java, v tomhle program pole v Java od uživatele přijmeme velikost a hodnotu prvků pole.
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]+" "); } } }
Výstup:-
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
Upravit prvek v poli:-
Aktualizujte prvek podle daného indexu.
Program v Java jak upravit prvky v poli
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]+" "); } } }
Výstup:-
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
Přístupový prvek v poli:-
Vytiskněte všechny prvky pole.
Program v Java jak procházet v poli
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]+" "); } } }
Výstup:-
Array Elements are:- 1 2 3 4 5
Shrnutí
- Pole je datová struktura pro ukládání více datových položek, které mají podobný datový typ
- Identifikátor, datový typ, délka pole, prvky a index jsou hlavními částmi pole
- Použijte index pro zpracování hodnot prvků pole
- Pole mají vynikající podporu pro zachování neporušeného datového typu
- Ve většině jazyků se pole vytváří zadáním identifikátoru, datového typu a prvků, které mají být zahrnuty
- Pole jsou nejlepší pro zpracování velkého množství hodnot a pro rychlé třídění a vyhledávání
- Python má moduly a vestavěné metody pro provádění základních operací pole, jako je vkládání, mazání, vyhledávání, aktualizace a procházení
- C++ potřebuje definovat programy pro základní operace pole, jako je vkládání, mazání, aktualizace vyhledávání a procházení