From f9282ab522bf30a6f5839c8cccc63f02fab31281 Mon Sep 17 00:00:00 2001 From: 3024753 <3024753@stud.hs-mannheim.de> Date: Thu, 26 Mar 2026 16:43:44 +0100 Subject: [PATCH] =?UTF-8?q?InsertionSort=20nochmals=20ge=C3=BCbt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- PR2pvl/src/InsertionSort.java | 58 ++++++++++++++++++++-- PR2pvl/src/InsertionSortTest.java | 8 +-- PR2pvl/src/SelectionSort.java | 81 +++++++++++++++---------------- 3 files changed, 99 insertions(+), 48 deletions(-) diff --git a/PR2pvl/src/InsertionSort.java b/PR2pvl/src/InsertionSort.java index 9bcf8a5..7462429 100644 --- a/PR2pvl/src/InsertionSort.java +++ b/PR2pvl/src/InsertionSort.java @@ -1,25 +1,38 @@ +import java.util.logging.Logger; + public class InsertionSort { + public static final Logger log = Logger.getLogger(InsertionSort.class.getName()); public static void main(String[] args) { - System.out.println("Hier ist Insertionsort"); + int[] arr={44,55,22,33,11,44,2135,2341325,9876,0}; + insertionSortLSG(arr); + + for(int i = 0; i < arr.length; i++) System.out.println(arr[i]); } public static int[] insertionSortLSG(int[] sortieren) { + log.info("dann mal los!"); + int count = 0; int temp; for (int i = 1; i < sortieren.length; i++) { temp = sortieren[i]; int j = i; while (j > 0 && sortieren[j - 1] > temp) { + count++; sortieren[j] = sortieren[j - 1]; j--; } + sortieren[j] = temp; + log.info("getauscht"); } + log.info("n = " + sortieren.length + " -> Vergleiche: " + count); + System.out.println(count); return sortieren; } -} + @@ -37,6 +50,45 @@ public static void insertionsorttest(int[] arr){ } -void main() { +public static void insertsort(int[] arr){ + int tmp; + for(int i = 0; i < arr.length-1; i++){ + if(arr[i+1] < arr[i]){ + tmp=arr[i+1]; + + int j=i; + while(j>0 && arr[j]>tmp){ + arr[j+1]= arr[j]; + j--; + } + arr[j]=tmp; + } + } } + + + + + + + + + +public static int[] insertSort(int[] arr){ + int tmp; + for(int pos = 0; pos < arr.length-1; pos++){ + tmp=arr[pos+1]; // +1 da sonst im durchlaufen / while eine Array Out of Bounds Acception kommt + int durch=pos; + while(durch>=0 && arr[durch]>tmp){ + arr[durch+1]=arr[durch]; + durch--; + } + arr[durch+1]=tmp; + } + return arr; +} + + + +} \ No newline at end of file diff --git a/PR2pvl/src/InsertionSortTest.java b/PR2pvl/src/InsertionSortTest.java index 6b89a22..2b73c51 100644 --- a/PR2pvl/src/InsertionSortTest.java +++ b/PR2pvl/src/InsertionSortTest.java @@ -8,13 +8,15 @@ public class InsertionSortTest { @Test public void test() { - - int[] arr = {9, 7, 6, 5, 4, 2, 1, 0}; int[] fin = {0, 1, 2, 4, 5, 6, 7, 9}; - Assert.assertArrayEquals(InsertionSort.insertionSort(arr), fin); + int[] komp={111111,94854,555,444,123}; + int[] kompSort={123,444,555,94854,111111}; + Assert.assertArrayEquals(InsertionSort.insertionSortLSG(arr), fin); + Assert.assertArrayEquals(InsertionSort.insertSort(arr), fin); + Assert.assertArrayEquals(InsertionSort.insertSort(komp), kompSort); } } diff --git a/PR2pvl/src/SelectionSort.java b/PR2pvl/src/SelectionSort.java index cae575e..c4f065e 100644 --- a/PR2pvl/src/SelectionSort.java +++ b/PR2pvl/src/SelectionSort.java @@ -1,26 +1,17 @@ +import java.util.logging.Level; +import java.util.logging.Logger; public class SelectionSort { + public static final Logger log = Logger.getLogger(SelectionSort.class.getName()); + + private boolean change; private int temp; - public static int[] selectionSort(int[] arr) { - int tmp; - int index = 0; - - for(int i=0; i < arr.length; i++) { - tmp = arr[i]; - - for(int j = 0; j < arr.length; j++) { - if(arr[j] < tmp) tmp = arr[j]; - index = j; - } - arr[index] = arr[i]; - arr[i]=tmp; - - } - return arr; - } - - + + public static void main(String[] args){ + int[] arr = {89,6,5,435,6734,234,5,3467,68,65}; + selectionsortUebungcgpt(arr); + } public void sortLSG(int data[]) { @@ -54,25 +45,9 @@ public class SelectionSort { System.out.println(); } - - public static void selectionsortUebung(int[] arr){ - int temp; - - for(int i = 0; i Vergleiche: " + count); + System.out.println(count); + } +// ||| +// Richtig!!! VVV + + public static void selectsort(int[] arr){ + int tmp; + for(int i = 0; i < arr.length-1; i++){ + tmp=arr[i]; + int pos = i; + int j = i; + while(j < arr.length){ + if(arr[j]