diff options
author | Tyler Murphy <tylerm@tylerm.dev> | 2023-04-17 12:12:01 -0400 |
---|---|---|
committer | Tyler Murphy <tylerm@tylerm.dev> | 2023-04-17 12:12:01 -0400 |
commit | 180aad05decc7eefa87e4e45d6747c48f40e5361 (patch) | |
tree | 51545197f7c94b4022acab880772c9f4fc65db0e /src/main/java/net/tylermurphy/Minecraft/UI/UILayerQuickSort.java | |
download | minecraftjava-main.tar.gz minecraftjava-main.tar.bz2 minecraftjava-main.zip |
Diffstat (limited to 'src/main/java/net/tylermurphy/Minecraft/UI/UILayerQuickSort.java')
-rwxr-xr-x | src/main/java/net/tylermurphy/Minecraft/UI/UILayerQuickSort.java | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/main/java/net/tylermurphy/Minecraft/UI/UILayerQuickSort.java b/src/main/java/net/tylermurphy/Minecraft/UI/UILayerQuickSort.java new file mode 100755 index 0000000..6355347 --- /dev/null +++ b/src/main/java/net/tylermurphy/Minecraft/UI/UILayerQuickSort.java @@ -0,0 +1,38 @@ +package net.tylermurphy.Minecraft.UI;
+
+import java.util.List;
+
+public class UILayerQuickSort {
+
+ public static void quickSort(List<UIComponent> arr, int start, int end){
+
+ int partition = partition(UIMaster.componentBatch, start, end);
+
+ if(partition-1>start) {
+ quickSort(UIMaster.componentBatch, start, partition - 1);
+ }
+ if(partition+1<end) {
+ quickSort(UIMaster.componentBatch, partition + 1, end);
+ }
+ }
+
+ public static int partition(List<UIComponent> arr, int start, int end){
+
+ UIComponent pivot = arr.get(end);
+
+ for(int i=start; i<end; i++){
+ if(arr.get(i).getZIndex()<pivot.getZIndex()){
+ UIComponent temp= arr.get(start);
+ arr.set(start, arr.get(i));
+ arr.set(i, temp);
+ start++;
+ }
+ }
+
+ UIComponent temp = arr.get(start);
+ arr.set(start, pivot);
+ arr.set(end, temp);
+
+ return start;
+ }
+}
\ No newline at end of file |