Hallo,
Also ich habe folgendes Problem,
Ich habe hier meine beiden Quelltexte gepostet, und ich komm an dieser stelle nicht weiter.
Ich habe zwei Felder und will Sie nach dem Mergesort verfahren vergleichen, hab aber keine ahnung wie ich da am besten vorgehen soll.
Vielen Dank im vorraus
Also ich habe folgendes Problem,
Ich habe hier meine beiden Quelltexte gepostet, und ich komm an dieser stelle nicht weiter.
Ich habe zwei Felder und will Sie nach dem Mergesort verfahren vergleichen, hab aber keine ahnung wie ich da am besten vorgehen soll.
Java:
import HUMath.InOut.ReadWin;
import java.lang.Math;
import java.lang.String;
public class Versuch2 {
public static void main(String[] args){
String s="dasisteinversuch";
char[] feld1=s.toCharArray();
int n=feld1.length;
System.out.println(n);
// 2 neue Felder anlegen
int m= (feld1.length)/2;
char[]l=new char[m];
char[]r=new char[n-m];
// Neue Felder mit Elementen fuellen
for(int i=0;i<m;i++)
l[i]=feld1[i];
for(int i=0;i<(n-m);i++)
r[i]=feld1[m+i];
// Ausgabe der neuen Felder
System.out.println(java.util.Arrays.toString(l));
System.out.println(java.util.Arrays.toString(r));
}
}
Java:
import HUMath.InOut.ReadWin;
import java.lang.Math;
import java.lang.String;
public class Versuch3 {
public static void main(String[] args){
String s="hallo";
String t="ichbin";
char[] a=s.toCharArray();
char[] b=t.toCharArray();
int m=a.length;
int n=b.length;
System.out.println(m);
System.out.println(n);
// Neues Feld erstellen
int o=m+n;
char[] c=new char[o];
System.out.println(c.length);
// Neues Feld mit Elementen fuellen
int i=0;
int j=0;
int k=0;
while ((k <n+m) && (i!=(n)) && (j!=(m))) {
if (a[i] <= b[j]) {
c[k] = a[i];
i++;
}
else {
c[k] = b[j];
j++;
}
k++;
}
if (i == n )
for (int l = k ; l < (n + m); l++) {
c[l] = b[j];
j++;}
else
for (int l = k ; l < (n + m); l++) {
c[l] = a[i];
i++;}
System.out.println(java.util.Arrays.toString(c));
}}
Vielen Dank im vorraus
Zuletzt bearbeitet von einem Moderator: