Java:
public class ArraySort
{
public static char[] liste_sortiert(char array[], int n, boolean f)
{
char temp;
if(f)
{
for (int i=0; i < array.length-1; i++)
{
for (int j=array.length-1; j > i; j--)
{
if (array[j-1] > array[j])
{
temp = array[j-1];
array[j-1] = array[j];
array[j] = temp;
}
}
}
}
else
{
for (int i=0; i < array.length-1; i++)
{
for (int j=array.length-1; j > i; j--)
{
if (array[j-1] > array[j])
{
temp = array[j-1];
array[j-1] = array[j];
array[j] = temp;
}
}
}
}
return array;
}
public static void liste_ausgeben(char array[], int n)
{
for(int i = 0; i < n;i++)
{
System.out.print(array[i] + ", ");
}
System.out.println();
}
public static void main(String[] args)
{
final int n = 10; // Anzahl der Elemente festlegen
char a [] = new char [n]; // Array a mit n Feldern
char b [] = new char [n]; // Array b mit n Feldern
char c [] = new char [n]; // Array c mit n Feldern
// Array a vorbesetzen
a[0]='A'; a[1]='D'; a[2]='?'; a[3]='e'; a[4]='x';
a[5]='6'; a[6]='Z'; a[7]='3'; a[8]='8'; a[9]='M';
System.out.print("Elemente von a: ");
liste_ausgeben(a,n); //Ausgabe von a
b=liste_sortiert(a,n,true); //b bekommt Elemente von a aufsteigend sortiert
c=liste_sortiert(a,n,false); //b bekommt Elemente von a absteigend sortiert
System.out.print("Elemente von a: ");
liste_ausgeben(a,n); //Ausgabe von a
System.out.print("Elemente von b: ");
liste_ausgeben(b,n); //Ausgabe von b
System.out.print("Elemente von c: ");
liste_ausgeben(c,n); //Ausgabe von c
}
}
Damit sollte er eigentl. ja das ausgeben:
Elemente von a: A, D, ?, e, x, 6, Z, 3, 8, M,
Elemente von b: 3, 6, 8, ?, A, D, M, Z, e, x,
Elemente von c: 3, 6, 8, ?, A, D, M, Z, e, x,
aber Ausgeben tut er mir das und ich versteh nicht ganz warum
Elemente von a: 3, 6, 8, ?, A, D, M, Z, e, x,
Elemente von b: 3, 6, 8, ?, A, D, M, Z, e, x,
Elemente von c: 3, 6, 8, ?, A, D, M, Z, e, x,
Zuletzt bearbeitet: