Bubbelsortering

Detta program sorterar en given mängd sifferdata i storleksordning. Den använder sig av metoden bubbelsortering.
Huvudprogrammet frågar användaren om en datamängd, konverterar strängen till ett tal (int),
och anropar därefter funktionen sortera() där datamängden sorteras och skickas tillbaka till huvudprogrammet som skriver ut det på skärmen och sparar den i en fil output.txt.
import java.io.*;
class bubblesort {
public static int[] sortera(int numbers[])
throws Exception
{
int flag = 1;
int x;
int n = 0;
int temp;
do {
flag = 0;
n=n+1;
for (x=0 ; x < numbers.length - n; x++)
{
if (numbers[x] > numbers[x+1])
{ System.out.println("Swapping "+ numbers[x] +
" and " + numbers[x+1] + " at location " + x);
temp = numbers[x];
numbers[x] = numbers[x+1];
numbers[x+1] = temp;
flag = 1;
}
}
} while (flag != 0);
return numbers;
}
public static void main (String args[])
throws Exception
{
InputStreamReader isr;
BufferedReader keyb;
isr = new InputStreamReader(System.in);
keyb = new BufferedReader(isr);
System.out.print("Ange antalet tal som ska sorteras: ");
String inmatning;
inmatning=keyb.readLine();
int antal = Integer.valueOf(inmatning).intValue(); //String to int
int[] numbers=new int[antal];
for(int i=0; i<=antal-1; i++)
{
System.out.print("Ange heltal nummer "+ (i+1) + ": ");
inmatning=keyb.readLine();
numbers[i]=Integer.valueOf(inmatning).intValue(); //String to int
}
System.out.print("Inmatade tal: [ ");
for(int i=0; i<=antal-1; i++)
{
System.out.print(numbers[i] + " ");
}
System.out.println("]");
System.out.println("Startar sorteringen...");
int[] newnumbers=sortera(numbers);
System.out.print("Sorterade tal: [ ");
FileOutputStream fileOut=new FileOutputStream("output.txt");
PrintStream myOutput=new PrintStream(fileOut);
for(int i=0; i<=antal-1; i++)
{
System.out.print(newnumbers[i] + " ");
myOutput.print(newnumbers[i] + " ");
}
System.out.println("]");
System.out.println("Resultatet har sparats till filen output.txt");
}
}

Tillbaks till huvudsidan

email: Alireza.Niai_nouri.2077@student.uu.se