Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako vykonávať prioritné fronty triedy pomocou generátora

fronty ukladá dáta v poradí a obsahuje dve funkcie : Push a pop . Stlačte umiestni položku na konci fronty , pop odstráni položky na prednej strane , a vráti ho . Prioritné front sa správa podobne , s jedným rozdielom : Push pridáva položky do frontu v určitom poradí . Polia nie sú ideálne pre prioritné fronty , oni postrádajú pružnosť , takže je ťažké triediť fronty . Avšak , oni sú užitočné pre učenie koncept . Pokyny dovolená 1

Zvoľte typ dát je vašou prioritou fronta drží . Ak je toto váš prvý čas písania prioritné fronty , vyberte si niečo jednoduchého , ako je napríklad celé číslo .
2

Vytvorte poľa , ktorý bude slúžiť ako fronty . Ak váš typ dát je celé číslo , a budete chcieť držať 10 položiek , bude vaša pole je vytvorené pomocou kódu , ako toto :

int [ ] arr = new int [ 10 ] ;

Majte na nevadí , že 0 je prvý index každého poľa . Pre prístup k prvej index ARR , by odkazovať na arr [ 0 ] , a arr [ 9 ] by prístup k poslednej index arr . V tomto prípade , arr [ 10 ] spôsobí chybu .
3

Určte funkciu triedenia . Bude použitá neskôr , aby sa zasadila položky v správnom poradí . Táto funkcia má dva vstupy , a potom porovnáva ich . Keď je prvý vstup má vyššiu hodnotu , vráti funkcia 1 , ak oba vstupy majú rovnakú hodnotu , vráti 0 , a v prípade , že prvý vstup má nižšiu hodnotu , vráti -1 . Ak je toto váš prvý čas písania triedenie funkciu , a váš dátový typ voľby je celé číslo , mali by ste začať s číselnom poradí , v ktorom nižšie počty majú nižšiu hodnotu . Zoradenie podľa číselnej hodnoty , bude kód vyzerať takto :

if ( prvá > druhá ) vráti 1 ;

if ( prvá == druhý ) return 0 ;

if ( prvý < druhý ) return -1 ;

funguje aj pre ostatné dátové typy čísel , ako sú dvojlôžkové a plaváky . Ak používate reťazca , môžete zoradiť podľa abecedy .
4

Spustite funkciu tlačidla . To má jeden vstup , položka bude tlačiť na fronte , a výstupy nič . V Jave , ak váš typ dát je celé číslo , váš kód bude vyzerať takto :

public void push ( int )

Váš kód bude vyzerať podobne ako vo väčšine ostatných programovacích jazykov , vrátane C a C + + . " Void " znamená , že táto funkcia bude výstup nič .
5

Vytvorte pole o rovnakej veľkosti, ako pole , ktoré používate pre váš fronty . Ak je váš súčasný pole pojme 10 celých čísel , bude vám vytvoriť pole , ako je toto :

int [ ] secondArray = new int [ 10 ] ;

Toto druhé pole sa neskôr stane vaším front . Ak je posledná položka v poli je plná , znamená to , že ste využili každú položku v poli ; . , Mali by ste namiesto toho vytvoriť pole , ktoré je jedna položka väčšia
6

Porovnajte vstup pre každú položku v poli , počnúc prvým , pomocou funkcie triedenia . Vždy sa uistite , vstup push je prvá položka , ktorú umiestnite vo funkcii triedenia . Ak chcete porovnať vstup tlačiť a prvú položku z ARR , bude váš kód vyzerať takto :

sort ( v , arr [ 0 ] ) ;

, " in " je meno danej vstupná premenná od kroku 4.

Ak vráti hodnotu -1 , vstup dať tlačiť ich do druhého poľa : .

secondArray [ 0 ] = v ;

Inak , kopírovanie položka z prvého poľa do druhého poľa :

secondArray [ 0 ] = arr [ 0 ] ;

Potom porovnať vstup tlačiť k ďalšej položke v prvom poli :

sort ( v , arr [ 1 ] ) ;

Pokračujte v tom , kým je vložený vstupné push v druhom poli , alebo kým nie sú k dispozícii žiadne ďalšie položky v prvom poli . V druhom prípade , vstupné miesto , zatlačte ako ďalšiu položku v druhom poli .
7

Skopírujte zvyšok položiek z prvého poľa do druhého poľa . Teraz vstupu , ktoré posúvajú ich bola umiestnená v druhom poli , nemáte potrebu pre funkciu triedenia . Od chvíle , použite druhý polia skôr než prvý , prvý rad je teraz zastarané . S tým , funkcia Push je kompletný .
8

Napíšte funkciu pop . To má žiadne vstupy , ale výstupy jednu položku z frontu . Ak váš typ dát je celé číslo , bude váš kód vyzerať takto :

public int pop ( )

druhé slovo , " int " , znamená to , že táto funkcia bude výstup číslo < br . >
9

Vytvorenie druhého poľa rovnakej veľkosti ako aktuálne pole . Potom skopírujte druhú položku z prvého poľa do prvého vstupu do druhého poľa , tretí položku do druhého vstupu druhého poľa je , a tak ďalej a tak ďalej , kým nie sú k dispozícii žiadne ďalšie položky . Nekopírujte na prvú položku v prvom poli . Ak váš pole obsahuje 4 položky , bude váš kód vyzerať takto :

secondArray [ 0 ] = arr [ 1 ] ;

secondArray [ 1 ] = arr [ 2 ] ;

secondArray [ 2 ] = arr [ 3 ] ;

Pripomeňme , že prvý index poľa je 0. To znamená , že secondArray [ 0 ] je prvá položka secondArray , a arr [ 1 ] je druhá položka ARR .
10

Späť na prvú položku z prvého poľa . Váš kód bude vyzerať takto :

vrátiť arr [ 0 ] ;

Rovnako ako u funkcie Push , druhá rada je teraz váš front . Funkcia pop je teraz kompletný .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené