dagjonas Skrevet 21. november 2006 Del Skrevet 21. november 2006 Noen (Zethyr) kjenner kanskje igjen denne oppgaven fra den siste øvingen i IT-GK, jeg får den ikke til og dere kan få være min stud.ass. for anledningen. Algoritmen kan forklares i pseudokode som følger: For alle i fra og med 0 til lengden på tabellen. For alle j fra og med 0 til lengden på tabellen - i - 1. Hvis elementet i posisjon j er større enn elementet i posisjon j + 1. Bytt plass på elementene i posisjonene j og j + 1. Følgende "støttemetode" kan gjerne brukes int[] byttPlass(int index1,int index2, int[] tabell) Får ikke til mer enn dette (som strengt tatt ikke noe): for(int i=0; i <= tabell.length; i++){ for(int j=0; j <= tabell.length - i - 1; i++){ if(tabell[j] > tabell[j+1]){ Lenke til kommentar
sim Skrevet 21. november 2006 Del Skrevet 21. november 2006 Ser ut som du nesten er ferdig. Pseudokoden er egentlig ganske grei, og du mangler bare siste linje som er å bytte om element j og j+1. Dette kan du gjøre ved hjelp av støttemetoden din (byttPlass). for( int i=0; i < tabell.length; i++ ) { for( int j=0; j < tabell.length - i - 1; i++ ) { if( tabell[j] > tabell[j+1] ) { tabell = byttPlass(j, j+1, tabell); } } } Jeg vet ikke om du har skrevet byttPlass-metoden, men den bør se omtrent slik ut: int[] byttPlass(int index1, int index2, int[] tabell) { int temp = tabell[index1]; tabell[index1] = tabell[index2]; tabell[index2] = temp; return tabell; } Tror dette skal stemme. Lykke til Lenke til kommentar
Ariah Skrevet 22. november 2006 Del Skrevet 22. november 2006 Hvis det er ntnu du går på kan du bare finne fram leksjon 6, der står det om boblesortering. jeg bare copy pastet derfra og forandret på variabler, så var alt gull Lenke til kommentar
DJViking Skrevet 22. november 2006 Del Skrevet 22. november 2006 Fy fy, klipp og lim. Lær deg sorteringsalgoritmen og lag den selv. Er ikke så vanskelig. Lenke til kommentar
___ Skrevet 22. november 2006 Del Skrevet 22. november 2006 Vær glad du slipper å skrive rutinen i 8-bits maskinkode UTEN bruk av assembler. Werner Lenke til kommentar
dagjonas Skrevet 22. november 2006 Forfatter Del Skrevet 22. november 2006 Takk sim! La oss si at jeg har laget meg tabellen: int[] tabell = {3,1,5,6,2,9,4}; Hvordan skal jeg da få "matet" den inn i sorteringsalgoritmen og så få skrevet ut den tabellen sortert? Lenke til kommentar
sim Skrevet 22. november 2006 Del Skrevet 22. november 2006 (endret) Sorteringsmetoden din skal ta en int[] som inndata og returnere en int[] når den er ferdig. Vi får dermed: int[] bobbleSorter (int[] tabell) { for( int i=0; i < tabell.length; i++ ) { for( int j=0; j < tabell.length - i - 1; i++ ) { if( tabell[j] > tabell[j+1] ) { tabell = byttPlass(j, j+1, tabell); } } } return tabell; } For å sortere tabellen du har skrevet gjør du følgende: int[] tabell = {3,1,5,6,2,9,4}; tabell = bobbleSorter(tabell); Endret 22. november 2006 av sim Lenke til kommentar
Anbefalte innlegg
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 kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå