×
Felmeddelande :( Din CSS har inte laddats som den ska. Testa reloada sidan.
1

Java - Stackar och listor.

Postat av batmanskappa den 8 Maj 2007, 13:15
2 kommentarer · 348 träffar
Denna guide är en förklaring och lite exempel på hur du / ni kan använda er av JAVA. Vi ska snacka om stackar och listor i denna uppgift.
PS. Jag har inte skrivit allt;)


Stackar
En myrstack växer genom att nytt material läggs på toppen. Vill vi minska storleken plockar vi material uppifrån om vi inte vill rasera hela stacken. Vid programmering funkar det på samma sätt. Ett annat exempel man kan jämföra med är en trave tallrikar. Nya tallrikar placeras överst och sedan är det bara den översta tallriken som man kommer åt. Ett begrepp som brukar användas för detta är LIFO-principen, Last In First Out.

Metoder
push(element) Lägger till ett element på toppen av stacken
peek() Läser elementet som ligger på toppen utan att ta bort det
pop() Läser och tar bort elementet som ligger på toppen
empty() Om stacken är tom returneras true, annars false

Ett exempel för hur metoder kan användas för att fylla en stack kan vara att fylla en stack med ett antal städer och sedan skriva ut innehålet. För att få tillgång till stackklassen skrivs:

import java.util.*;

För att skapa en stack med namnet städer skrivs:

Stack städer = new Stack();

Det maximala antalet element som stacken ska kunna lagra behöver inte anges utan storleken växer eller avtar efterhand nya element läggs till eller tas bort. Den första staden infogas med:

städer.push("Norrköping");


Metoden push föregås av stacknamnet. En till stad:

städer.push("Linköping");

Toppelementet är nu Linköping och Norrköping ligger längst ned.


För att läsa och samtidigt plocka bort det översta elementet används pop:

String stad = städer.pop(); //Linköping lagras i stad
Kod
//stack
import java.util.*;
import cs1.Keyboard;

public class StadStack{
public static void main(String[] args){
Stack städer = new Stack();
for (int i = 1; i < 6; i++){
System.out.println("Stad " + i + ": ");
String stad = Keyboard.readString();
städer.push(stad);
}
System.out.println("\& #92;\\nOmvänd ordning:");
while (!städer.empty()){
System.out.println(städer .pop());
}
}
}

Körning:
«Ï ––jGRASP exec: java StadStack
ÏϧÏ
ÏϧÏStad 1:
¼¼§ÏNorrköping
ÏϧÏStad 2:
¼¼§ÏLinköping
ÏϧÏStad 3:
¼¼§ÏVärnamo
ÏϧÏStad 4:
¼¼§ÏStockholm
ÏϧÏStad 5:
¼¼§ÏJönköping
ÏϧÏ
ÏϧÏOmvänd ordning:
ÏϧÏJönköping
ÏϧÏStockholm
ÏϧÏVärnamo
ÏϧÏLinköping
ÏϧÏNorrköping
ÏϧÏ
ÏÏ©Ï ––jGRASP: operation complete.

Förklaring:
Städerna placeras på stacken med hjälp av en for-loop och metoden push. Empty-metoden används i while-satsen, så länge stacken städer inte är tom (!) ska satserna i loopen utföras. Då stacken är tom blir städer.empty() true och då blir alltså !städer.empty() false. Städerna skrivs ut i omvänd ordning.


// Körningen är koperiad rakt ur ett document så därför ser den konstig ut här.
Föregående tråd
Nästa tråd

2 kommentarer — skriv kommentar

Kommentarerna nedan är skrivna av användare på Fragbite. Fragbite granskar inte sanningshalten i texten och du uppmanas att själv kritiskt granska och bemöta texten. Förutsätt inte att innehållet i texterna är sanning.
Visa 2 kommentarer

Skriv en kommentar

Laddar..