Zadání k 2. programovacímu testu

Podobné dokumenty
Maturitní téma: Programovací jazyk JAVA

DobSort. Úvod do programování. DobSort Implementace 1/3. DobSort Implementace 2/3. DobSort - Příklad. DobSort Implementace 3/3

Kolekce, cyklus foreach

IAJCE Přednáška č. 9. int[] pole = new int[pocet] int max = pole[0]; int id; for(int i =1; i< pole.length; i++) { // nikoli 0 if (Pole[i] > max) {

součet cvičení celkem. známka. Úloha č.: max. bodů: skut. bodů:

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

Základní datové struktury

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Konstruktory a destruktory

Úvod do programovacích jazyků (Java)

Náplň. v Jednoduché příklady na práci s poli v C - Vlastnosti třídění - Způsoby (algoritmy) třídění

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh

Algoritmizace řazení Bubble Sort

ADT/ADS = abstraktní datové typy / struktury

Abstraktní datové typy: zásobník

Seznamy a iterátory. Kolekce obecně. Rozhraní kolekce. Procházení kolekcí

Základy algoritmizace a programování

V případě jazyka Java bychom abstraktní datový typ Time reprezentující čas mohli definovat pomocí třídy takto:

Časová složitost algoritmů

Pole a kolekce. v C#, Javě a C++

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

Úvod do programovacích jazyků (Java)

Abstraktní datové typy

Algoritmizace prostorových úloh

Sada 1 - Základy programování

Algoritmizace a programování

Spojová implementace lineárních datových struktur

Lineární datové struktury

Šablony, kontejnery a iterátory

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

DATABÁZOVÉ A INFORMAČNÍ SYSTÉMY

Standardní algoritmy vyhledávací.

Složitosti základních operací B + stromu

Prioritní fronta, halda

Dynamické datové struktury I.

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

Programování v C++, 2. cvičení

Šablony, kontejnery a iterátory

Datové struktury. Obsah přednášky: Definice pojmů. Abstraktní datové typy a jejich implementace. Algoritmizace (Y36ALG), Šumperk - 12.

PODOBÁ SE JAZYKU C S NĚKTERÝMI OMEZENÍMI GLOBÁLNÍ PROMĚNNÉ. NSWI162: Sémantika programů 2

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Programování v C++ 1, 5. cvičení

Abstraktní datové typy FRONTA

Stromy. Karel Richta a kol. Katedra počítačů Fakulta elektrotechnická České vysoké učení technické v Praze Karel Richta a kol.

Datové struktury. alg12 1

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

5 Rekurze a zásobník. Rekurzivní volání metody

Úvod Přetěžování Generika Kolekce Konec. Programování v C# Další jazykové konstrukce. Petr Vaněček 1 / 31

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

1. Téma 03 - Rozhodování

Druhá skupina zadání projektů do předmětu Algoritmy II, letní semestr 2014/2015

Třídící algoritmy. Insert Sort. Bubble Sort. Select Sort. Shell Sort. Quick Sort. Merge Sort. Heap Sort.

Reprezentace dat v informačních systémech. Jaroslav Šmarda

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

ABSTRAKTNÍ DATOVÉ TYPY (ADT)

NPRG030 Programování I, 2018/19 1 / :03:07

Struktura programu v době běhu

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Iterator & for cyklus

Základy řazení. Karel Richta a kol.

Rekurze a rychlé třídění

přirozený algoritmus seřadí prvky 1,3,2,8,9,7 a prvky 4,5,6 nechává Metody řazení se dělí:

Vysvětlete funkci a popište parametry jednotlivých komponent počítače a periferních zařízení.

Dynamické datové struktury IV.

Programování v Javě I. Únor 2009

Anotace. pointery (pars prima). Martin Pergel,

2 Datové struktury. Pole Seznam Zásobník Fronty FIFO Haldy a prioritní fronty Stromy Hash tabulky Slovníky

Stromy, haldy, prioritní fronty

Digitální učební materiál

IAJCE Přednáška č. 8. double tprumer = (t1 + t2 + t3 + t4 + t5 + t6 + t7) / 7; Console.Write("\nPrumerna teplota je {0}", tprumer);

Lineární datové struktury

Třídění a vyhledávání Searching and sorting

Programování v Javě I. Leden 2008

Stromy. Příklady. Rekurzivní datové struktury. Základní pojmy

Rekurze a zásobník. Jak se vypočítá rekurzivní program? volání metody. vyšší adresy. main(){... fa(); //push ret1... } ret1

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

KTE / ZPE Informační technologie

DSA, První krok: máme dokázat, že pro left = right vrátí volání f(array, elem, left, right)

ŘÍKÁME, ŽE FUNKCE JE ČÁSTEČNĚ SPRÁVNÁ (PARTIALLY CORRECT), POKUD KDYŽ JE SPLNĚNA PRECONDITION

8 Třídy, objekty, metody, předávání argumentů metod

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

Univerzita Pardubice

Základy algoritmizace. Hašování

A4B33ALG 2010/05 ALG 07. Selection sort (Select sort) Insertion sort (Insert sort) Bubble sort deprecated. Quicksort.

Universita Pardubice Fakulta elektrotechniky a informatiky. Mikroprocesorová technika. Semestrální práce

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

ALG 04. Zásobník Fronta Operace Enqueue, Dequeue, Front, Empty... Cyklická implementace fronty. Průchod stromem do šířky

Dynamické datové struktury III.

IB111 Úvod do programování skrze Python

Základní datové struktury III: Stromy, haldy

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

int t1, t2, t3, t4, t5, t6, t7, prumer; t1=sys.readint();... t7=sys.readint(); prume pru r = r = ( 1+t 1+t t3+ t3+ t4 t5+ t5+ +t7 +t7 )/ ;

Základy jazyka C# Obsah přednášky. Architektura.NET Historie Vlastnosti jazyka C# Datové typy Příkazy Prostory jmen Třídy, rozhraní

vyhledávací stromové struktury

OOPR_05. Případové studie

Transkript:

Zadání k 2. programovacímu testu Úvod do programovacích jazyků (Java) 4.12.2008 00:08 Michal Krátký Katedra informatiky Technická univerzita Ostrava Historie změn, příklady: 21 Poznámka: Pokud není řečeno jinak, posloupnost na výstupu bude setříděna vzestupně. 1

1. Zadání 1. Napište metodu quicksort(byte[] pole), která setřídí vstupní posloupnost rekurzivním algoritmem třídění rozdělováním (QuickSort). 2. Napište metodu void print(byte[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu quicksort pro posloupnost {5, 9, 1, -9, 8, 85, 23, -80, 10, 19, 0, -3, 33, 42, 37}. Vypište pole metodou print před a po 2. Zadání 1. Napište metodu quicksort(short[] pole), která setřídí vstupní posloupnost rekurzivním algoritmem třídění rozdělováním (QuickSort). 2. Napište metodu void print(short[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu quicksort pro posloupnost {500, 9012, 1, -781, 8, 58, 2389, -80, 105, 197, 0, -33, 3374, 42, 73}. Vypište pole metodou print před a po 3. Zadání 1. Napište metodu quicksort(int[] pole), která setřídí vstupní posloupnost rekurzivním algoritmem třídění rozdělováním (QuickSort). 3. V metodě main() volejte metodu quicksort pro posloupnost {500, 974012, 1, -781, 8, 89558, 2389, -80, 105, 197, 0, -33, 3374, 42452, 32}. Vypište pole metodou print před a po 4. Zadání 1. Napište metodu quicksort(double[] pole), která setřídí vstupní posloupnost rekurzivním algoritmem třídění rozdělováním (QuickSort). 2. Napište metodu void print(double[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu quicksort pro posloupnost {0.1, 974012.8, 1.789, -781.0, 8.4, 8.6, 238.9, -8.0, 10.5, 1.97, 0, -33.7, 7.337, 2.42, 75.4}. Vypište pole metodou print před a po 5. Zadání 1. Napište metodu quicksort(long[] pole), která setřídí vstupní posloupnost rekurzivním algoritmem třídění rozdělováním (QuickSort). 2. Napište metodu void print(long[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu quicksort pro posloupnost {500, 5241574012L, 1, -781, 8, -3412589558L, 2389, -80, 105, 197, 0, -33, 3374, 4, 32}. Vypište pole metodou print před a po

6. Zadání 1. Napište metodu invquicksort(int[] pole), která sestupně setřídí vstupní posloupnost rekurzivním algoritmem třídění rozdělováním (QuickSort). 3. V metodě main() volejte metodu invquicksort pro posloupnost {500, 974012, 1, -781, 8, 89558, 2389, -80, 105, 197, 0, -33, 3374, 42452, 32}. Vypište pole metodou print před a po 7. Zadání 1. Napište metodu insertsort(int[] pole), která setřídí vstupní posloupnost algoritmem třídění vkládáním (InsertSort). 2. Napište metodu void setrandom(int[] pole), která nastaví prvky pole na náhodné hodnoty < 1000. 3. Napište metodu void print(int[] pole), která vypíše hodnoty pole. 4. V metodě main() vytvořte pole 20 čísel, pomocí metody setrandom nastavte prvky pole na náhodné hodnoty a zavolejte metodu insertsort. Vypište pole metodou print před a po Poznámka: Pro vygenerování náhodného čísla použijte metodu double Math.random(), která vrátí hodnotu z intervalu 0.0, 1.0). Pro zjištění délky pole použijte atribut length, např. pole.length 8. Zadání 1. Napište metodu insertsort(double[] pole), která setřídí vstupní posloupnost algoritmem třídění vkládáním (InsertSort). 2. Napište metodu void setrandom(double[] pole), která nastaví prvky pole na náhodné hodnoty < 100.0. 3. Napište metodu void print(double[] pole), která vypíše hodnoty pole. 4. V metodě main() vytvořte pole 20 čísel, pomocí metody setrandom nastavte prvky pole na náhodné hodnoty a zavolejte metodu insertsort. Vypište pole metodou print před a po Poznámka: Pro vygenerování náhodného čísla použijte metodu double Math.random(), která vrátí hodnotu z intervalu 0.0, 1.0). Pro zjištění délky pole použijte atribut length, např. pole.length 9. Zadání 1. Napište metodu binaryinsertsort(int[] pole), která setřídí vstupní posloupnost algoritmem třídění vkládáním s binárním vyhledáváním (BinaryInsertSort). 3. V metodě main() volejte metodu binaryinsertsort pro posloupnost {500, 974012, 1, -781, 8, 89558, 2389, -80, 105, 197, 0, -33, 3374, 42452, 32}. Vypište pole metodou print před a po

10. Zadání 1. Napište metodu selectsort(int[] pole), která setřídí vstupní posloupnost algoritmem třídění výběrem (SelectSort). 2. Napište metodu void setrandom(int[] pole), která nastaví prvky pole na náhodné hodnoty < 1000. 3. Napište metodu void print(int[] pole), která vypíše hodnoty pole. 4. V metodě main() vytvořte pole 20 čísel, pomocí metody setrandom nastavte prvky pole na náhodné hodnoty a zavolejte metodu selectsort. Vypište pole metodou print před a po Poznámka: Pro vygenerování náhodného čísla použijte metodu double Math.random(), která vrátí hodnotu z intervalu 0.0, 1.0). Pro zjištění délky pole použijte atribut length, např. pole.length 11. Zadání 1. Napište metodu selectsort(double[] pole), která setřídí vstupní posloupnost algoritmem třídění výběrem (SelectSort). 2. Napište metodu void setrandom(double[] pole), která nastaví prvky pole na náhodné hodnoty < 100.0. 3. Napište metodu void print(double[] pole), která vypíše hodnoty pole. 4. V metodě main() vytvořte pole 20 čísel, pomocí metody setrandom nastavte prvky pole na náhodné hodnoty a zavolejte metodu selectsort. Vypište pole metodou print před a po Poznámka: Pro vygenerování náhodného čísla použijte metodu double Math.random(), která vrátí hodnotu z intervalu 0.0, 1.0). Pro zjištění délky pole použijte atribut length, např. pole.length 12. Zadání 1. Napište metodu invselectsort(int[] pole), která sestupně setřídí vstupní posloupnost algoritmem třídění výběrem (SelectSort). 2. Napište metodu void setrandom(int[] pole), která nastaví prvky pole na náhodné hodnoty < 1000. 3. Napište metodu void print(int[] pole), která vypíše hodnoty pole. 4. V metodě main() vytvořte pole 20 čísel, pomocí metody setrandom nastavte prvky pole na náhodné hodnoty a zavolejte metodu invselectsort. Vypište pole metodou print před a po Poznámka: Pro vygenerování náhodného čísla použijte metodu double Math.random(), která vrátí hodnotu z intervalu 0.0, 1.0). Pro zjištění délky pole použijte atribut length, např. pole.length

13. Zadání 1. Napište metodu shellsort(int[] pole), která setřídí vstupní posloupnost algoritmem třídění vkládání s ubývajícím krokem (ShellSort). 3. V metodě main() volejte metodu shellsort pro posloupnost {500, 974012, 1, -781, 8, 89558, 2389, -80, 105, 197, 0, -33, 3374, 42452, 32}. Vypište pole metodou print před a po 14. Zadání 1. Napište metodu shellsort(double[] pole), která setřídí vstupní posloupnost algoritmem třídění vkládání s ubývajícím krokem (ShellSort). 2. Napište metodu void print(double[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu shellsort pro posloupnost {0.1, 974012.8, 1.789, -781.0, 8.4, 8.6, 238.9, -8.0, 10.5, 1.97, 0, -33.7, 7.337, 2.42, 75.4}. Vypište pole metodou print před a po 15. Zadání 1. Napište metodu bubblesort(int[] pole), která setřídí vstupní posloupnost algoritmem bublinkové třídění (BubbleSort). 2. Napište metodu int BinarySearch(int[] pole, int item), která v poli nalezne index prvku item algoritmem binárního vyhledávání. Pokud se prvek v poli nenachází, metoda vrátí -1. 3. Napište metodu void print(int[] pole), která vypíše hodnoty pole. 4. V metodě main() volejte metodu bubblesort pro posloupnost {500, 974012, 1, -781, 8, 89558, 2389, -80, 105, 197, 0, -33, 3374, 42452, 32}. Zavolejte metodu BinarySearch nad setříděným polem pro hodnoty 32 a 31. Vypište pole metodou print před a po 16. Zadání 1. Napište metodu ripplesort(double[] pole), která setřídí vstupní posloupnost variací algoritmu bublinkové třídění RippleSort. V tomto algoritmu si pamatujeme pozici první měněné dvojice posloupnosti. V dalším cyklu pak začínáme od této pozice 1. 2. Napište metodu int BinarySearch(double[] pole, double item), která v poli nalezne index prvku item algoritmem binárního vyhledávání. Pokud se prvek v poli nenachází, metoda vrátí -1. 3. Napište metodu void print(double[] pole), která vypíše hodnoty pole. 4. V metodě main() volejte metodu ripplesort pro posloupnost {0.1, 974012.8, 1.789, 781.0, 8.4, 8.6, 238.9, 8.0, 10.5, 1.97, 0, 33.7, 7.337, 2.42, 75.4}. Zavolejte metodu BinarySearch nad setříděným polem pro hodnoty 32.0 a 31.0. Vypište pole metodou print před a po

17. Zadání 1. Napište metodu shakersort(int[] pole), která setřídí vstupní posloupnost variací algoritmu bublinkové třídění ShakerSort. 3. V metodě main() volejte metodu shakersort pro posloupnost {500, 974012, 1, 781, 8, 89558, 2389, 80, 105, 197, 0, 33, 3374, 42452, 32}. Vypište pole metodou print před a po 18. Zadání 1. Napište metodu shakersort(double[] pole), která setřídí vstupní posloupnost variací algoritmu bublinkové třídění ShakerSort. 2. Napište metodu void print(double[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu shakersort pro posloupnost {0.1, 974012.8, 1.789, 781.0, 8.4, 8.6, 238.9, 8.0, 10.5, 1.97, 0, 33.7, 7.337, 2.42, 75.4}. Vypište pole metodou print před a po 19. Zadání 1. Napište metodu invshakersort(int[] pole), která sestupně setřídí vstupní posloupnost variací algoritmu bublinkové třídění ShakerSort. 3. V metodě main() volejte metodu invshakersort pro posloupnost {500, 974012, 1, 781, 8, 89558, 2389, 80, 105, 197, 0, 33, 3374, 42452, 32}. Vypište pole metodou print před a po 20. Zadání 1. Napište metodu dobsort(int[] pole), která setřídí vstupní posloupnost variací algoritmu bublinkové třídění DobSort. 3. V metodě main() volejte metodu dobsort pro posloupnost {500, 974012, 1, -781, 8, 89558, 2389, -80, 105, 197, 0, -33, 3374, 42452, 32}. Vypište pole metodou print před a po

21. Zadání 1. Napište metodu radixsort(short[] pole), která setřídí vstupní posloupnost algoritmem RadixSort s M = 2. 2. Napište metodu void print(short[] pole), která vypíše hodnoty pole. 3. V metodě main() volejte metodu radixsort pro posloupnost {500, 9012, 1, 781, 8, 8958, 2389, 80, 105, 197, 0, 33, 3374, 2452, 32}. Vypište pole metodou print před a po 22. Zadání 1. Implementujte dynamické pole hodnot datového typu int. 2. Napište metodu int[] createarray(int capacity), která vytvoří pole o kapacitě capacity. 3. Napište metodu int[] insert(int []array, int item), která vloží prvek item do pole za poslední vložený prvek. Pokud se prvek do pole nevleze, dojde k realokaci pole na dvojnásobnou velikost a metoda vrátí ukazatel na nové pole. V opačném případě metoda vrátí ukazatel na původní pole. 4. Napište metodu void print(int[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 5. V metodě main() vytvořte pomocí metody createarray pole o kapacitě 5 a pak do něj v cyklu uložte 30 hodnot. Nakonec vypište pole metodou print. 23. Zadání 1. Implementujte dynamické pole hodnot datového typu byte. 2. Napište metodu byte[] createarray(int capacity), která vytvoří pole o kapacitě capacity. 3. Napište metodu byte[] insert(byte []array, byte item), která vloží prvek item do pole za poslední vložený prvek. Pokud se prvek do pole nevleze, dojde k realokaci pole na dvojnásobnou velikost a metoda vrátí ukazatel na nové pole. V opačném případě metoda vrátí ukazatel na původní pole. 4. Napište metodu void print(byte[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 5. V metodě main() vytvořte pomocí metody createarray pole o kapacitě 5 a pak do něj v cyklu uložte 30 hodnot. Nakonec vypište pole metodou print.

24. Zadání 1. Implementujte dynamické pole hodnot datového typu short. 2. Napište metodu short[] createarray(int capacity), která vytvoří pole o kapacitě capacity. 3. Napište metodu short[] insert(short []array, short item), která vloží prvek item do pole za poslední vložený prvek. Pokud se prvek do pole nevleze, dojde k realokaci pole na dvojnásobnou velikost a metoda vrátí ukazatel na nové pole. V opačném případě metoda vrátí ukazatel na původní pole. 4. Napište metodu void print(short[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 5. V metodě main() vytvořte pomocí metody createarray pole o kapacitě 5 a pak do něj v cyklu uložte 30 hodnot. Nakonec vypište pole metodou print. 25. Zadání 1. Implementujte dynamické pole hodnot datového typu long. 2. Napište metodu long[] createarray(int capacity), která vytvoří pole o kapacitě capacity. 3. Napište metodu long[] insert(long []array, long item), která vloží prvek item do pole za poslední vložený prvek. Pokud se prvek do pole nevleze, dojde k realokaci pole na dvojnásobnou velikost a metoda vrátí ukazatel na nové pole. V opačném případě metoda vrátí ukazatel na původní pole. 4. Napište metodu void print(long[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 5. V metodě main() vytvořte pomocí metody createarray pole o kapacitě 5 a pak do něj v cyklu uložte 30 hodnot. Nakonec vypište pole metodou print. 26. Zadání 1. Implementujte dynamické pole hodnot datového typu double. 2. Napište metodu double[] createarray(int capacity), která vytvoří pole o kapacitě capacity. 3. Napište metodu double[] insert(double []array, double item), která vloží prvek item do pole za poslední vložený prvek. Pokud se prvek do pole nevleze, dojde k realokaci pole na dvojnásobnou velikost a metoda vrátí ukazatel na nové pole. V opačném případě metoda vrátí ukazatel na původní pole. 4. Napište metodu void print(double[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 5. V metodě main() vytvořte pomocí metody createarray pole o kapacitě 5 a pak do něj v cyklu uložte 30 hodnot. Nakonec vypište pole metodou print.

27. Zadání 1. Implementujte setříděné statické pole hodnot datového typu int. 2. Napište metodu boolean insert(int []array, int item), která zatřídí prvek item do pole. Pro vyhledání pozice pro nový prvek použijte algoritmus sekvenční vyhledávání. Pokud se prvek do pole nevleze, metoda vrátí false. V opačném případě vrátí true. 3. Napište metodu void print(int[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 4. V metodě main() vytvořte pole o velikosti 30 a pak do něj v cyklu uložte hodnoty {30, 29,..., 0}. Nakonec vypište setříděné pole metodou print. 28. Zadání 1. Implementujte setříděné statické pole hodnot datového typu double. 2. Napište metodu boolean insert(double []array, double item), která zatřídí prvek item do pole. Pro vyhledání pozice pro nový prvek použijte algoritmus binární vyhledávání. Pokud se prvek do pole nevleze, metoda vrátí false. V opačném případě vrátí true. 3. Napište metodu void print(double[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 4. V metodě main() vytvořte pole o velikosti 30 a pak do něj v cyklu uložte hodnoty {30.0, 29.0,..., 0.0}. Nakonec vypište setříděné pole metodou print. 29. Zadání 1. Implementujte sestupně setříděné statické pole hodnot datového typu int. 2. Napište metodu boolean invinsert(int []array, int item), která sestupně zatřídí prvek item do pole. Pro vyhledání pozice pro nový prvek použijte algoritmus sekvenční vyhledávání. Pokud se prvek do pole nevleze, metoda vrátí false. V opačném případě vrátí true. 3. Napište metodu void print(int[] pole), která vypíše všechny hodnoty, které byly do pole vloženy. 4. V metodě main() vytvořte pole o velikosti 30 a pak do něj v cyklu uložte hodnoty {0, 1,..., 29, 30}. Nakonec vypište setříděné pole metodou print.

30. Zadání 1. Implementujte datovou strukturu Fronta pomocí pole pro uložení hodnot typu int. 2. Napište metodu int[] createqueue(int capacity), která vytvoří frontu o kapacitě capacity. 3. Napište metodu boolean put(int[] arrayqueue, int item), která uloží prvek na konec fronty a vrátí true. Pokud se prvek do fronty nevleze, metoda vrátí false. 4. Napište metodu int get(int[] arrayqueue), která vyjme první prvek z fronty. Pokud ve frontě není žádný prvek, metoda vrátí -1. 5. Napište metodu boolean empty(int[] arrayqueue), která vrátí true pokud je fronta prázdná. V opačném případě vrátí false. 6. V metodě main() vytvořte pomocí metody createqueue frontu o kapacitě 11 a pak do této fronty vložte v cyklu 13 prvků metodou put. V dalším cyklu 13 volejte metodu get. Vypište výsledky volání těchto metod. 31. Zadání 1. Implementujte datovou strukturu Fronta pomocí pole pro uložení hodnot typu double. 2. Napište metodu double[] createqueue(int capacity), která vytvoří frontu o kapacitě capacity. 3. Napište metodu boolean put(double[] arrayqueue, double item), která uloží prvek na konec fronty a vrátí true. Pokud se prvek do fronty nevleze, metoda vrátí false. 4. Napište metodu double get(double[] arrayqueue), která vyjme první prvek z fronty. Pokud ve frontě není žádný prvek, metoda vrátí -1. 5. Napište metodu boolean empty(double[] arrayqueue), která vrátí true pokud je fronta prázdná. V opačném případě vrátí false. 6. V metodě main() vytvořte pomocí metody createqueue frontu o kapacitě 11 a pak do této fronty vložte v cyklu 13 prvků metodou put. V dalším cyklu 13 volejte metodu get. Vypište výsledky volání těchto metod.

32. Zadání 1. Implementujte datovou strukturu Zásobník pomocí pole pro uložení hodnot typu int. 2. Napište metodu int[] createstack(int capacity), která vytvoří zásobník o kapacitě capacity. 3. Napište metodu boolean push(int[] arraystack, int item), která uloží prvek na vrchol zásobníku a vrátí true. Pokud se prvek do zásobníku nevleze, metoda vrátí false. 4. Napište metodu int pop(int[] arraystack), která vyjme prvek z vrcholu zásobníku. Pokud v zásobníku není žádný prvek, metoda vrátí -1. 5. Napište metodu boolean empty(int[] arraystack), která vrátí true pokud je zásobník prázdný. V opačném případě vrátí false. 6. V metodě main() vytvořte pomocí metody createstack zásobník o kapacitě 11 a pak do tohoto zásobníku vložte v cyklu 13 prvků metodou push. V dalším cyklu 13 volejte metodu pop. Vypište výsledky volání těchto metod. 33. Zadání 1. Implementujte datovou strukturu Zásobník pomocí pole pro uložení hodnot typu double. 2. Napište metodu double[] createstack(int capacity), která vytvoří zásobník o kapacitě capacity. 3. Napište metodu boolean push(double[] arraystack, double item), která uloží prvek na vrchol zásobníku a vrátí true. Pokud se prvek do zásobníku nevleze, metoda vrátí false. 4. Napište metodu double pop(double[] arraystack), která vyjme prvek z vrcholu zásobníku. Pokud v zásobníku není žádný prvek, metoda vrátí -1. 5. Napište metodu boolean empty(double[] arraystack), která vrátí true pokud je zásobník prázdný. V opačném případě vrátí false. 6. V metodě main() vytvořte pomocí metody createstack zásobník o kapacitě 11 a pak do tohoto zásobníku vložte v cyklu 13 prvků metodou push. V dalším cyklu 13 volejte metodu pop. Vypište výsledky volání těchto metod.