---
title: "JAVA-hjälp!"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/108567-java-hjälp"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "dwd"
published: "2004-08-05T16:32:20.000Z"
updated: "2004-08-05T16:58:42.000Z"
replies: 5
views: 423
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/108567-java-hjälp"
---

# JAVA-hjälp!

## #1 — dwd, 2004-08-05T16:32Z

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!!

Permalänk: https://www.webforum.nu/p/108567

## #2 — dwd, 2004-08-05T16:34Z

såg att en kommentar hamnat fel:

> // Här slutar Exempel.java.

 
Skall naturligtvis vara sist..

Permalänk: https://www.webforum.nu/p/1402398

## #3 — aasah, 2004-08-05T16:36Z

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?

Permalänk: https://www.webforum.nu/p/1402399

## #4 — aasah, 2004-08-05T16:42Z

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!

Permalänk: https://www.webforum.nu/p/1402401

## #5 — dwd, 2004-08-05T16:46Z

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..??

Permalänk: https://www.webforum.nu/p/1402404

## #6 — Viktor, 2004-08-05T16:58Z

Tråden stängs eftersom du redan har en tråd om samma ämne, [Enkel Java, hjälp!](http://www.webforum.nu/showthread.php?s=&threadid=106042&forumid=92).

/Viktor

Permalänk: https://www.webforum.nu/p/1402411

---

Tråden på webben: https://www.webforum.nu/amne/java/108567-java-hjälp
