11. juli 2008 - 14:49Der er
13 kommentarer og 1 løsning
Sorterings algoritme - bubblesort
Jeg sidder og gloer på lidt kode, som er et generelt problem i alle eksempler, det er en sorteringsalgoritme, som skal sortere et array. Jeg ønsker at tage en liste med fx. {11,99,24,22,56} og sortere den i faldende orden, ved hjælp af denne algoritme, jeg forstår bare ikke lige hvordan jeg får en system.out, pga den "Swap" i den inderste for-løkke.
1 public void bubbleSort(int array[]) 2 { 3 for (int i = 0; i < array.length - 1; i++) 4 { 5 boolean swapped = false; 6 for (int j = 0; j < array.length – i - 1; j++) 7 { 8 if (array[j] > array[j+1]) 9 { 10 swap(array,j,j+1); 11 swapped = true; 12 } 13 } 14 if (!swapped) 15 return; 16 } 17 }
Du opretter arrayet i din main-metode, tager det med som argument til din bubblesort-metode (som i koden i dit oprindelige spørgsmål), og skriver det derefter ud i din main-metode.
int array[] = {22,33,11}; //Du opretter arrayet i din main-metode s.bubbleSort(array); //tager det med som argument til din bubblesort-metode for (int i = 0; i < array.length; i++) { //og skriver det derefter ud i din main-metode. system.out.println(array[i]); }
Hvis du skal lave bubble sort, så skal du lave bubble sort. Og jeg antager at det er tilfældet.
Hvis du bare skal bruge en sortering, så kan du:
import java.util.Arrays;
og
Arrays.sort(array);
Synes godt om
Ny brugerNybegynder
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.