Gå til innhold

sortere en liste av integers


Anbefalte innlegg

[/code]Har problemer med en liste som skal sortere integers. Får flere nullpointerexceptions. Håper noen kan hjelpe meg

 

// Kode som skal sortere lista i stigende rekkefølge

 

public void sorter() {

int min = hode.getInfo();

Node sortert = hode;

Node løper = hode;

int antSorterte = 0;

 

 

while (sortert != null)

{

løper = sortert;

while (løper.neste != null)

{

if (min > løper.neste.getInfo())

min = løper.neste.getInfo();

løper = løper.neste;

}

 

løper = sortert;

while (løper.getInfo() != min || løper.neste != null)

{

løper = løper.neste;

}

 

Node temp = løper.neste; // minste node

if (løper.neste.neste == null)

løper.neste = null;

else

løper.neste = løper.neste.neste;

settInnForrest(temp);

antSorterte++;

 

 

for(int i = 0; i<antSorterte; i++)

sortert = sortert.neste;

 

}

Lenke til kommentar
Videoannonse
Annonse

Hvordan sortere verdiene?

Hva med og bruke den klassiske BubbleSort?

public void BubbleSort( int[] b )
{
  for( int pass = 1; pass < b.Length; pass++ )
  {
     for( int i =0; i < b.Length-1; i++ )
     {
        if( b[i] > b[i + 1] ) 
        {
           Swap( b ,i ); 
        }
     }
  }
}

public void Swap( int[] c, int first )
{
  int hold;
  hold = c[first]; 
  c[ first ] = c[ first + 1 ];
  c[ first + 1 ] = hold;  
}

Lenke til kommentar

er sikkert mulig å legge listen din i en array og. Men er lett å lage en sortert liste og. Kanske en trestruktur er å foretrekke.

 

om du skal sortere en lenket liste:

 

if(liste.integer>liste.neste.integer){

mid = liste;

liste = liste.neste;

liste.neste = mid;

}

 

bør slenge med noen tester mot null men ellers er det sikkert greit nok det der.

må ha en while løkke av noe slag der og. Du kan gjøre det i listen og om du vil og kalle det rekursivt.

Endret av GaLiHaLen
Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...