webForumDet fria alternativet

JAVA-hjälp!

5 svar · 418 visningar · startad av dwd

dwdMedlem sedan juli 200435 inlägg
#1

Jag har fått en skoluppgift som går ut på att göra ett litet, enkelt javaprogram. Uppgiften lyder som följande:

Skapa en klass List för att implementera en sorterad länkad heltalslista. Man ska kunna lägga till
element till listan, ta bort element ur listan och söka efter element i listan. Dessutom ska man kunna
skriva ut listan. Det är inte tillåtet att använda Javas listklasser.
Ledning: Ett element i en länkad lista har två attribut: ett element (dvs ett heltal) och “nästa element
i listan”. Det behövs två klasser, en för listhuvudet och en för listelement.

Jag har inte haft möjlighet att gå på tillhörande föreläsningar så jag är lite bakom flötet. Dock har jag lyckats fiffla ihop detta:

class Quick { // Quick.java heter filen som börjar här.

static int[] tab; // Internt namn på vektorn som ska sorteras.

public static void Sort(int[] v) { // Sort anropas utifrån, därför public.
tab = v;
Quicksort(0,tab.length-1); // Första och sista index.
}
static int Partition(int a, int b) { // Partitionerar det segment av vektorn tab
int x; // som går från tab[a] till tab
**x = tab[a]; // med x som partitioneringsvärde.
while (a < b) {
while (tab >= x && a < b) b--; // Sök från höger efter element mindre än x.
if (a == b) break;
tab[a++] = tab
; // Flytta till ledig plats i vänsterdelen.
while (tab[a] <= x && a < b) a++; // Sök från vänster efter element större än x.
if (a == b) break;
tab[b--] = tab[a]; // Flytta till ledig plats i högerdelen.
}
tab = x; // Stoppa tillbaka partitioneringselementet
return b; // och returnera var det hamnade.
}
static void Quicksort(int a, int b) { // Sorterar segmentet tab[a]...tab
.
int split = Partition(a, b); // Partitionera, kalla delningsindex split.
if (split > a+1) Quicksort(a, split-1); // Sortera vänstra delen rekursivt
if (split < b-1) Quicksort(split+1, b); // Sortera högra delen rekursivt
}
} // Här slutar filen Quick.java

                                                       // Här slutar Exempel.java.

import java.io.*; // Exempel.java kan använda
class Exempel { // hela paketet java.io
public static void main (String[] args) throws IOException {
DataInputStream input = new DataInputStream(System.in); // Låt input vara tangenterna.
System.out.println("Antal tal:");
int n = Integer.parseInt(input.readLine());
int[] v = new int[n]; // En array skapas dynamiskt.
System.out.println("Skriv ett tal per rad:");
for (int i=0; i<n; i++)
v = Integer.parseInt(input.readLine()); // Raden görs om till heltal.
Quick.Sort(v); // Utför sorteringen.
System.out.println("Sorterat:");
for (int i = 0; i<n; i++) System.out.println(v
); // Skriv ut resultatet.
}
}************

Det lilla jag skrivit frågar efter hur många tal/ord jag vill att listan skall bestå av, vilka tal/ord den skall bestå av och sedan skriver ut detta. Ser detta bra ut? Hur skall jag nu fortsätta med resten av uppgiften (sökfunktionen, deletefunktionen). Tror ni jag har förstått uppgiften rätt?? jag är inte säker...

Tack!!

dwdMedlem sedan juli 200435 inlägg
#2

såg att en kommentar hamnat fel:

// Här slutar Exempel.java.

Skall naturligtvis vara sist..

aasahMedlem sedan mars 20034 471 inlägg
#3

Tycker det ser ut som om en hel del av den kod du presenterar är kod ni fått ut tillsammans med uppgiften? Hur mycket har du skrivit själv egentligen? :q

Och varför en ny tråd?

aasahMedlem sedan mars 20034 471 inlägg
#4

Re: JAVA-hjälp!

dwd skrev:

.... Det lilla jag skrivit frågar efter hur många tal/ord jag vill att listan skall bestå av, vilka tal/ord den skall bestå av och sedan skriver ut detta. Ser detta bra ut? ....

Nej, inte i mina ögon. Mest av allt för att du inte lagrar dem i någon lista.

Tror att du BÖR sätta dig med kurslitteraturen och läsa på om listor!

dwdMedlem sedan juli 200435 inlägg
#5

Hittar ingen litteratur som hanterar just den här typen av JAVA-programmering. De flesta böckerna handlar mer om tradiga effekter och sådant krafs. Kanske ngn kan rekomendera ngn bra sajt för detta..??

ViktorMedlem sedan aug. 20021 752 inlägg
#6

Tråden stängs eftersom du redan har en tråd om samma ämne, Enkel Java, hjälp!.

/Viktor

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)