From 3e5372186a86c65befbd56a555564708b278d7b9 Mon Sep 17 00:00:00 2001 From: "Kody C. Kendall" Date: Thu, 13 Apr 2017 11:54:22 -0600 Subject: [PATCH] Create InsertionSortInteger --- InsertionSortInteger | 56 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 InsertionSortInteger diff --git a/InsertionSortInteger b/InsertionSortInteger new file mode 100644 index 000000000..b457ae137 --- /dev/null +++ b/InsertionSortInteger @@ -0,0 +1,56 @@ +package sorts; +/** + * This is my implementation of an insertion sort. + * + * I decided to do this when i didn't feel comfortable enough about implementing + * different types of sorts, so this is my trial and error to try and get myself to implement + * the various sorts correctly. + * + * @author Kody C. Kendall + * + */ +public class InsertionSort { + + + public int[] insertionIntArraySort(int[] initialArray){ + + int[] sortedArray = new int[initialArray.length]; + + //Marking first element as sorted. + sortedArray[0] = initialArray[0]; + + //For each element in the initialArray + for (int index = 1; index < initialArray.length; index++){ + + //Finding the last index that was sorted + int lastSortedIndex = index; + + //Extracting the next element to be compared w/ other sorted elements from initial array + int extractedElement = initialArray[index]; + + //Compare the values of the sorted index to the current extractedElement + for (lastSortedIndex = index; lastSortedIndex > 0; lastSortedIndex--){ + + //If our extracted element is smaller than element to the right, switch them. + if (sortedArray[lastSortedIndex-1] > extractedElement){ + //move the element to the left of extractedElement to the right in sortedArray + sortedArray[lastSortedIndex] = sortedArray[lastSortedIndex-1]; + //And move the current extractedElement to the left one (since it's smaller). + sortedArray[lastSortedIndex-1] = extractedElement; + } + else{ + //insert element where it is. + sortedArray[lastSortedIndex] = extractedElement; + //Terminating loop since element is in the right spot. + break; + } + + } + + } + + return sortedArray; + + } + +}