Implemented BubbleSort

This commit is contained in:
Paul H 2025-03-25 20:45:08 +01:00
parent cc55f2703d
commit 0eb671dddf
4 changed files with 54 additions and 5 deletions

View File

@ -3,6 +3,8 @@ package de.vivi.list;
import de.vivi.list.list.ArrayByteList; import de.vivi.list.list.ArrayByteList;
import de.vivi.list.list.ByteList; import de.vivi.list.list.ByteList;
import de.vivi.list.list.LinkedByteList; import de.vivi.list.list.LinkedByteList;
import de.vivi.list.sort.BubbleSort;
import de.vivi.list.sort.ByteSort;
public class Main { public class Main {
@ -15,7 +17,7 @@ public class Main {
testList(linked); testList(linked);
// testList(combined); // testList(combined);
// testSort(array); testSort(array);
// testSort(linked); // testSort(linked);
// testSort(combined); // testSort(combined);
} }
@ -26,6 +28,11 @@ public class Main {
list.add((byte) 5); list.add((byte) 5);
list.add((byte) -86); list.add((byte) -86);
list.add((byte) 3); list.add((byte) 3);
list.add((byte) 100);
list.add((byte) 20);
list.add((byte) 40);
list.add((byte) -100);
list.add((byte) 40);
// list: [10, 5, -86, 3] // list: [10, 5, -86, 3]
@ -76,14 +83,14 @@ public class Main {
// } // }
} }
// private static void testSort(ByteList list) { private static void testSort(ByteList list) {
// ByteSort bubble = new BubbleSort(); ByteSort bubble = new BubbleSort();
// ByteSort merge = new MergeSort(); // ByteSort merge = new MergeSort();
// ByteSort bogo = new BogoSort(); // ByteSort bogo = new BogoSort();
// //
// // sort the lists with the sorting algorithm // // sort the lists with the sorting algorithm
// bubble.sort(list.copy()); bubble.sort(list);
// merge.sort(list.copy()); // merge.sort(list.copy());
// bogo.sort(list.copy()); // bogo.sort(list.copy());
// } }
} }

View File

@ -1,5 +1,7 @@
package de.vivi.list.list; package de.vivi.list.list;
import java.util.Arrays;
public class ArrayByteList implements ByteList { public class ArrayByteList implements ByteList {
private byte[] values; private byte[] values;
@ -48,4 +50,9 @@ public class ArrayByteList implements ByteList {
public int size() { public int size() {
return values.length; return values.length;
} }
@Override
public String toString() {
return Arrays.toString(values);
}
} }

View File

@ -0,0 +1,27 @@
package de.vivi.list.sort;
import de.vivi.list.list.ByteList;
public class BubbleSort implements ByteSort {
@Override
public void sort(ByteList list) {
boolean swapped = true;
while (swapped) {
swapped = false;
for (int i = 0; i < list.size() - 1; i++) {
if (list.get(i) > list.get(i + 1)) {
swapped = true;
byte temp = list.get(i);
list.set(i, list.get(i + 1));
list.set(i + 1, temp);
}
}
System.out.println(list);
}
}
}

View File

@ -0,0 +1,8 @@
package de.vivi.list.sort;
import de.vivi.list.list.ByteList;
public interface ByteSort {
void sort(ByteList list);
}