Avatar billede connor Nybegynder
19. maj 2002 - 20:11 Der er 3 kommentarer og
1 løsning

Sortering af array

Hvordan er det nu lige at man sorterer et array?

Jeg har en sådan:
int Tal []= new int [10];
Som er fyldt med tal af typen int.

Jeg vil gerne have den sorteret, så den starter med det mindste først... Dog uden at bruge Arrays.sort(Tal);

Det er noget med at flytte rundt imellem værdierne i "temp attributter" Men hvordan gør man nu lige dette nemmest?
Avatar billede codemon Nybegynder
19. maj 2002 - 20:50 #1
Der er mange måder, hvad for en algoritme er du ude efter. De simpleste er swap- og insertion sort. Quick- og merge sort er mere komplicerede og kræver kendskab til rekursiv programmering.
Avatar billede codemon Nybegynder
19. maj 2002 - 20:51 #2
Det hedder forresten ikke swap sort, men selection sort.
Avatar billede codemon Nybegynder
19. maj 2002 - 20:58 #3
Insertionsort er god når en i forvejen sorteret liste skal holdes sorteret ved indsættelse af et enkelt eller få elementer. Selection sort er ikke god til noget som helst andet end at den er let at forstå. Quick- og merge sort er de hurtigste når en uordnet liste skal sorteres.

Her er et eksempel med insertionsort. tal er et array med heltal (int).
    for (int index = 1; index < tal.length; index++)
    {
      int key = tal[index];
      int position = index;

      while (position > 0 && tal[position-1] > key)
      {
          tal[position] = tal[position-1];
          position--;
      }
         
      tal[position] = key;
    }
Avatar billede connor Nybegynder
19. maj 2002 - 21:06 #4
OK tak for svaret...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester