Initial commit

This commit is contained in:
joachimschmidt557 2019-04-30 14:08:32 +02:00
commit 3d984082c8
7 changed files with 182 additions and 0 deletions

6
.classpath Normal file
View file

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>

17
.project Normal file
View file

@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>merge-sort-ftw</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>

View file

@ -0,0 +1,11 @@
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.8
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.8

BIN
bin/Main.class Normal file

Binary file not shown.

BIN
bin/Studierender.class Normal file

Binary file not shown.

85
src/Main.java Normal file
View file

@ -0,0 +1,85 @@
import java.text.DateFormat;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.Locale;
public class Main {
public static void main(String[] args) throws ParseException {
DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT, Locale.GERMAN);
List<Studierender> array = new ArrayList<Studierender>();
System.out.println(mergeSort(array));
}
public static List<Studierender> mergeSort(List<Studierender> array) {
List<Studierender> result = new ArrayList<Studierender>();
if (array.isEmpty()) {
return new ArrayList<Studierender>(array);
}
if (array.size() == 1) {
return new ArrayList<Studierender>(array);
}
List<Studierender> half1 = new ArrayList<Studierender>();
List<Studierender> half2 = new ArrayList<Studierender>();
for (int i = 0; i < array.size(); i++) {
if (i < array.size() / 2) {
half1.add(array.get(i));
}
else {
half2.add(array.get(i));
}
}
result = merge(mergeSort(half1), mergeSort(half2));
return result;
}
public static List<Studierender> merge(List<Studierender> a1, List<Studierender> a2) {
List<Studierender> result = new ArrayList<Studierender>();
while (!a1.isEmpty() || !a2.isEmpty()) {
if (a1.isEmpty()) {
result.addAll(a2);
break;
}
if (a2.isEmpty()) {
result.addAll(a1);
break;
}
if (a1.get(0).compareTo(a2.get(0)) <= 0) {
result.add(a1.remove(0));
}
else {
result.add(a2.remove(0));
}
}
return result;
}
}

63
src/Studierender.java Normal file
View file

@ -0,0 +1,63 @@
import java.util.Date;
public class Studierender implements Comparable<Studierender>{
private String name;
private int matrikelnr;
private Date geburtsDatum;
public Studierender(String name, int matrikelnr, Date geburtsDatum) {
this.name = name;
this.matrikelnr = matrikelnr;
this.geburtsDatum = geburtsDatum;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getMatrikelnr() {
return matrikelnr;
}
public void setMatrikelnr(int matrikelnr) {
this.matrikelnr = matrikelnr;
}
public Date getGeburtsDatum() {
return geburtsDatum;
}
public void setGeburtsDatum(Date geburtsDatum) {
this.geburtsDatum = geburtsDatum;
}
@Override
public int compareTo(Studierender arg0) {
int result = 0;
result = this.name.compareTo(arg0.name);
if (result == 0) {
result = Integer.compare(this.matrikelnr, arg0.matrikelnr);
}
if (result == 0) {
result = this.geburtsDatum.compareTo(arg0.geburtsDatum);
}
return result;
}
public String toString() {
return "[" + name + " " + matrikelnr + " " + geburtsDatum.toString() + "]";
}
}