Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky
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ý .