Array in Data Structures: What is, Concept, Insert/Delete Operations Example

Co jsou pole?

Pole je datová struktura pro ukládání 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í elementy toho pole.

Volá se celkový počet prvků v poli délka . Podrobnosti o poli jsou přístupné o jeho poloze. Tento odkaz se nazývá index nebo dolní index .

V tomto tutoriálu ke struktuře dat se naučíte,

Koncept pole

Koncept Diagram polí



Výše uvedený diagram ukazuje, že:

  1. Pole je kontejner prvků.
  2. Prvky mají konkrétní hodnotu a datový typ, například „ABC“, TRUE nebo FALSE atd.
  3. Každý prvek má také svůj vlastní index, který slouží k přístupu 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.
  • Pokud jde o syntaxi, každá proměnná, která je deklarována jako pole, může ukládat 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 pole v Pythonu a C ++ a ukazuje, že porozumění zůstává stejné, i když se syntaxe může v různých jazycích mírně lišit.

Porozumět syntaxi polí

  • Název pole: nezbytné pro snadná reference do sbírky prvků
  • Datový typ: nezbytné pro kontrolu typu a integritu dat
  • Elementy: toto jsou hodnoty dat přítomné v poli

Proč potřebujeme pole?

Zde jsou některé důvody pro použití polí:

  • Pole jsou nejlepší pro ukládání více hodnot do jedné proměnné
  • Pole lépe a rychle zpracovávají mnoho hodnot
  • Třídění a vyhledávání hodnot je v polích jednodušší

Vytvoření pole v Pythonu

V Pythonu se pole liší od seznamů; seznamy mohou mít položky pole datových typů, zatímco pole mohou mít pouze položky stejného datového typu.

Python má samostatný modul pro manipulaci s poli nazvaný pole, který musíte importovat, než na nich začnete pracovat.

Poznámka: Pole musí obsahovat skutečná čísla, jako jsou celá čísla a plováky, žádné řetězce nejsou povoleny.

Následující kód ukazuje, jak můžete v Pythonu vytvořit celočíselné pole pro uložení zůstatku na účtu: | _+_ |

Způsoby, jak deklarovat pole v Pythonu

Pole můžete v Pythonu deklarovat při jeho inicializaci pomocí následující syntaxe. | _+_ |

Následující obrázek vysvětluje syntaxi.

Syntaxe pole v Pythonu



  1. Identifikovat : zadejte název jako obvykle pro proměnné
  2. Modul : Python má speciální modul pro vytváření polí s názvem „pole“ - před použitím jej musíte importovat
  3. Metoda : modul pole má metodu pro inicializaci pole. Jsou zapotřebí dva argumenty, typový kód a prvky.
  4. Zadejte kód : specifikujte datový typ pomocí dostupných typových kódů (viz seznam níže)
  5. Elementy : zadejte prvky pole v hranatých závorkách, například [130,450,103]

Následující tabulka ukazuje kódy kódů dostupné pro podporované datové typy:

Zadejte kódTyp C.Typ PythonuMinimální velikost v bajtech
'C'charcharakter1
'B'znak bez znaménkaint1
'b'podepsaná charint1
'u'Py_UNICODEZnak Unicode2
'h'podepsán krátkýint2
'H'bez znaménka krátkéint2
'já'podepsané intint2
'Já'nepodepsané intdlouho2
'the'podepsán dlouhoint4
'THE'bez znaménka dlouhýdlouho4
'F'plovákplovák4
'd'dvojnásobekplovák8

Jak přistupovat ke konkrétní hodnotě pole?

K jakékoli položce pole můžete přistupovat pomocí jejího indexu.

SYNTAX

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

PŘÍKLAD

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

Následující obrázek ilustruje základní koncept přístupu k položkám polí podle jejich indexu.

Získejte přístup k prvku pole

Zde jsme přistoupili k druhé hodnotě pole pomocí jejího indexu, který je 1. Výstup z toho bude 200, což je v podstatě druhá hodnota vyváženého pole. | _+_ |

VÝSTUP

arrayName[indexNum]

Operace pole

Modul pole v Pythonu má samostatné funkce pro provádění operací pole. Jedná se o destruktivní způsob práce s poli, což znamená, že úprava bude uložena do proměnné pole.

Vložit

Pomocí této operace můžete vložit jednu nebo více položek do pole na začátku, na konci nebo v daném indexu pole. Tato metoda očekává dva argumenty index a hodnotu.

SYNTAX | _+_ |

Příklad:

Pojďme přidat novou hodnotu hned za druhou položku pole. V současné době má naše bilanč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.

Abyste mohli vložit novou hodnotu hned za „index 1“, musíte v metodě vložení odkazovat na index 2, například takto: | _+_ |

Chcete -li ověřit, zda byla vložena nová hodnota, zadejte název pole a stiskněte klávesu Enter na klávesnici: | _+_ |

VÝSTUP

balance[1]

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 | _+_ |

Příklad

Odebereme z pole hodnotu 150. V současné době má naše pole zůstatků tři položky 300, 200, 150 a 100. Abychom tedy mohli odebrat 150 z pole, musíme do argumentu metody zadat pouze 150. Jednoduché, že? | _+_ |

Chcete -li ověřit, zda byla hodnota odstraněna, zadejte název pole a stiskněte klávesu Enter na klávesnici: | _+_ |

VÝSTUP

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

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. Toto je nedestruktivní metoda, což znamená, že neovlivňuje hodnoty pole.

SYNTAX | _+_ |

Příklad:

Hledejme v poli hodnotu 150. V současné době má naše bilanční pole čtyři položky 300, 200, 150 a 100. Abychom tedy mohli v poli hledat 150, musíme do argumentu metody zadat pouze 150. To je docela snadné. Tato metoda vrací index hledané hodnoty. | _+_ |

VÝSTUP

200

AKTUALIZACE

Tato operace je velmi podobná metodě vložení, kromě toho, že nahradí stávající hodnotu v daném indexu. To znamená, že v daném indexu jednoduše přiřadí novou hodnotu. Tato metoda očekává dva argumenty index a hodnotu.

Syntaxe | _+_ |

Příklad

Předpokládejme, že naše pole má čtyři položky 300, 200, 150 a 100 a chceme 150 nahradit 145. Jaký je tedy index 150?

Kudos, pokud jste řekl 2.

Abyste mohli nahradit 150 s indexem 2, musíte odkazovat na index 2 pomocí jednoduchého operátoru přiřazení, jako je tento: | _+_ |

Chcete -li ověřit, zda byla hodnota aktualizována, zadejte název pole a stiskněte klávesu Enter na klávesnici: | _+_ |

VÝSTUP

arrayName.insert(index, value)

přejít

Pole pythonu můžete procházet pomocí smyček, jako je tato: | _+_ |

VÝSTUP

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

Vytvoření pole v C ++

Jazyk C ++ je flexibilnější než Python, pokud jde o vytváření polí. Pole můžete vytvořit třemi způsoby uvedenými výše.

Následující kód ukazuje, jak můžete v C ++ vytvořit celočíselné pole pro uložení zůstatku na účtu: | _+_ |

Způsoby, jak deklarovat pole v 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

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

Příklad

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

Pouze položky pole inicializační deklarace

Syntax

arrayName.remove(value)

Příklad

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

Deklarace podle velikosti a položky pole inicializace

Syntax

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

Příklad

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

Jak přistupovat ke konkrétní hodnotě pole?

K jakékoli položce pole můžete přistupovat pomocí jejího indexu.

Syntax

arrayName.index(value)

Příklad

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

Následující obrázek ilustruje základní koncept přístupu k položkám polí podle jejich indexu.

Přístup k prvku pole

Zde jsme přistoupili k druhé hodnotě pole pomocí jeho indexu, který je 1. Výstup z toho bude 200, což je v podstatě druhá hodnota bilančního pole. | _+_ |

Výstup | _+_ |

Operace pole v C ++

Na rozdíl od Pythonu musíte v C ++ sami programovat logiku pro provádění operací vkládání, mazání, hledání aktualizací a procházení v polích C ++.

Vložit

Logika operace vložení probíhá následovně:

  • procházet položkami pole
  • posuňte je na větší index
  • přidejte novou položku pole v daném indexu

V následujícím příkladu máme 5 položek v bilančním poli a chceme přidat novou položku hned za hodnotu 200. To znamená, že musíme přesunout všechny položky po 200 na větší index a poté vložit náš nový hodnota 150. | _+_ |

Výstup

2

Operace pole v Javě

Pojďme vytvořit programování v Javě, v tomto programu přijmeme od uživatele velikost a hodnotu prvků pole. | _+_ |

Výstup:- | _+_ |

Upravit prvek v poli:-

Aktualizujte prvek o daný index.

Program v Javě, jak upravit prvky v poli | _+_ |

Výstup:-

arrayName.udpate(index, value)

Přístup k prvku v poli:-

Vytiskněte všechny prvky pole.

Program v Javě, jak se pohybovat v poli | _+_ |

Výstup:-

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

Souhrn:

  • 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šenosti datového typu
  • Ve většině jazyků je pole vytvořeno zadáním identifikátoru, datového typu a prvků, které mají být zahrnuty
  • Pole jsou nejvhodnější pro zpracování velkého počtu hodnot a pro rychlé třídění a vyhledávání
  • Python má moduly a vestavěné metody k 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 s poli, jako je vkládání, mazání, aktualizace vyhledávání a procházení