Hallo zusammen, könnte mir jemand helfen bitte?
Vielen Dank im Voraus!
Vielen Dank im Voraus!
Java:
import java.util.*;
class MySort
{
//Array, welches die zu sortierenden Zahlen enthält.
private int[] a;
//Konstruktor der Klasse. Übergeben wird die
//gewünschte Arraylänge. Es wird dann ein neues
//zufällig gefülltes Array dieser Länge angelegt.
public MySort(int l)
{
a = new int[l];
fillArray(a);
randomPermutation(a);
}
//Diese Methode sortiert das übergebene Array
//mit dem Algorithmus InsertionSort
private void performInsertionSortOn(int[] f)
{
for(int i = 1; i < f.length; i++)
{
//Suche Position fuer Element f[i]
for(int j = i; j > 0; j--)
{
//Test, ob Tausch noetig
if(f[j] < f[j-1])
{
int h = f[j];
f[j] = f[j-1];
f[j-1] = h;
}
else {break;}
}
}
}
//Diese Methode permutiert die Elemente im Array
//zufällig.
private void randomPermutation(int[] a)
{
//einen neuen Zufallszahlengenerator anlegen
Random gen = new Random();
for(int i = a.length-1; i > 0; i--)
{
//Element fuer Position i zufaellig waehlen
int p = gen.nextInt(i+1);
//Elemente an Positionen p und i tauschen
int h = a[i];
a[i] = a[p];
a[p] = h;
}
}
//Diese Methode füllt ein Array der Länge n
//mit den Elementen 0,1,2,...,n-1
private void fillArray(int[] a)
{
for(int i = 0; i < a.length; i++){a[i] = i;}
}
}
Java:
class SortingThreadLauncher
{
public static void main(String[] args)
throws InterruptedException
{
//Anzahl der Threads
int t = Integer.parseInt(args[0]);
//Anzahl der zu sortierenden Elemente
int n = Integer.parseInt(args[1]);
System.out.println("Starte " + t + " Sortier-Thread(s)");
Thread[] s = new Thread[t];
//die Threads initialisieren und starten
for(int i = 0; i < t; i++)
{
s[i] = new Thread(new MySort(n));
s[i].start();
}
}
}