public void sort() { int range = (finalArray.Length * 10) / 13; printQueue.push(originalArray, "Original array", 0, 0, State.NONE); do { Tuple <int, int[]> rangeAndArray = parseOnce(range, finalArray); range = rangeAndArray.Item1; finalArray = rangeAndArray.Item2; }while (range != 0); printQueue.push(finalArray, null, 0, 0, State.DONE); }
public void sort() { int leftIndex = 0; finalResult = (int[])originalArray.Clone(); printQueue.push(originalArray, "Original array", 0, 0, State.NONE); while (leftIndex < originalArray.Length) { int minIndex = findMinIndex(finalResult, leftIndex); finalResult = shiftRight(finalResult, minIndex, leftIndex); leftIndex++; } printQueue.push(finalResult, null, 0, 0, State.DONE); }
public void sort() { //printArrayWithMessage("Original array", originalArray); printQueue.push(originalArray, "Original array", 0, 0, State.NONE); Boolean hasChanged = false; do { //Console.WriteLine("---------------------"); //printArrayWithMessage("Parsing the aray...", finalArray Tuple <int[], bool> arrayAndFlag = parseOnce(finalArray); finalArray = arrayAndFlag.Item1; hasChanged = arrayAndFlag.Item2; } while (hasChanged); //Console.WriteLine("---------------------"); //Console.WriteLine("Done"); printQueue.push(finalArray, "Done", 0, 0, State.DONE); }