Java Assignment Write a program using sorting sorting: bubble,selection,insertion,quick,merge Solution Bubble Sort: import java.util.Scanner; class SortBubble { public static void main(String []args) { int number, c, d, swap; Scanner in = new Scanner(System.in); System.out.println(\"Please enter the number of elements to be sorted\"); number = in.nextInt(); int ar[] = new int[number]; System.out.println(\"Enter \" + number + \" integers\"); for (int i = 0; i < number; i++) ar[i] = in.nextInt(); for (int i = 0; i < ( number - 1 ); i++) { for (int j = 0; j < number - c - 1; j++) { if (ar[j] > ar[j+1]) { swap = ar[j]]; ar[j] = ar[j+1]; ar[j+1] = swap; } } } System.out.println(\"Sorted list of numbers\"); for (int c = 0; c < number; c++) System.out.println(ar[c]); } } b) Selection Sort: public class SortSelection { public static int[] sort(int[] arr){ for (int i = 0; i < arr.length - 1; i++) { int index = i; for (int j = i + 1; j < arr.length; j++) if (arr[j] < arr[index]) index = j; int temp= arr[index]; arr[index] = arr[i]; arr[i] = temp; } return arr; } public static void main(String a[]){ int[] arr1 = {10,34,2,56,7,67,88,42}; int[] arr2 = sort(arr1); for(int i:arr2){ System.out.print(i); System.out.print(\", \"); } } } c) Insertion public class SortInsertion { public static void main(String[] args) { int[] array= { 4, 2, 9, 6, 23, 12, 34, 0, 1 }; sort(array); } static void printNumbers(int[] input) { for (int i = 0; i < array.length; i++) { System.out.print(array[i] + \", \"); } System.out.println(\"\ \"); } public static void sort(int array[]) { int n = array.length; for (int j = 1; j < n; j++) { int key = array[j]; int i = j-1; while ( (i > -1) && ( array [i] > key ) ) { array [i+1] = array [i]; i--; } array[i+1] = key; printNumbers(array); } } } d) Quick Sort: public class SortQuick { int array[]; int length; public void sort(int[] inputArr) { if (inputArr == null || inputArr.length == 0) { return; } this.array = inputArr; length = inputArr.length; quickSort(0, length - 1); } private void quickSort(int lowerIndex, int higherIndex) { int i = lowerIndex; int j = higherIndex; int pivot = array[lowerIndex+(higherIndex-lowerIndex)/2]; while (i <= j) { while (array[i] < pivot) { i++; } while (array[j] > pivot) { j--; } if (i <= j) { exchangeNumbers(i, j); i++; j--; } } if (lowerIndex < j) quickSort(lowerIndex, j); if (i < higherIndex) quickSort(i, higherIndex); } private void exchangeNumbers(int i, int j) { int temp = array[i]; array[i] = array[j]; array[j] = temp; } public static void main(String a[]){ MyQuickSort sorter = new MyQuickSort(); int[] input = {24,2,45,20,56,75,2,56,99,53,12}; sorter.sort(input); for(int i:input){ System.out.print(i); System.out.print(\" \"); } } }.