Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
SORTING ALGORITHM SELECTION SORT // Selection Sort Method for Descending Order public static void SelectionSort ( int [ ] num ) { int i, j, first, temp; for ( i = num.length – 1; i > 0; i – - ) { first = 0; //initialize to subscript of first element for(j = 1; j <= i; j ++) //locate smallest element between positions 1 and i. { if( num[ j ] < num[ first ] ) first = j; } temp = num[ first ]; //swap smallest found with element in position i. num[ first ] = num[ i ]; num[ i ] = temp; } } Sample public class Sort { static void selectionSort ( int [ ] array ) { int locationofSmallest; int temp; for ( int step = 0; step < array.length-1; step++ ) { // find the location of the smallest element from array[step] to // the end of the array locationofSmallest = step; for ( int loc = step; loc < array.length; loc++ ) { if ( array[loc] < array[locationofSmallest] ) { locationofSmallest = loc; } } // exchange array[step] with array[locationofSmallest] temp = array[step]; array[step] = array[locationofSmallest]; array[locationofSmallest] = temp; System.out.print(“\nPass ” + (step+1) + ” : “); SelectionSort.display(array); } } } class SelectionSort { static void display ( int array[] ) { for ( int i=0; i< array.length; i++ ) System.out.print(array[i] + ” ” ); } public static void main ( String args[] ) { int arr[] = { 50, 30, 20, 10, 40 }; System.out.print(“Initial array : “); display(arr); Sort.selectionSort (arr); } } User Input import java.util.Scanner; public class SelectionSort { public void SelectionSort(int[] arr){ for(int i=0; i<arr.length; i++) { for(int j=i+1; j<arr.length; j++) { if(arr[i] > arr[j] ) { int temp = arr[j]; arr[j] = arr[i]; arr[i] = temp; } } } for(int i=0; i<arr.length; i++) { System.out.print(arr[i] + ” “); } } //main class public static void main(String[] args) { Scanner input = new Scanner(System.in); System.out.print(“Enter the size of the array: “); int n = input.nextInt(); int[] x = new int[n]; System.out.print(“Enter “+ n +” numbers: “); for(int i=0; i<n; i++) { x[i] = input.nextInt(); } SelectionSort access = new SelectionSort(); System.out.print(“The Sorted numbers: “); access.SelectionSort(x); } } BUBBLE SORT // Bubble Sort Method for Descending Order public static void BubbleSort( int [ ] num ) { int j; boolean flag = true; // set flag to true to begin first pass int temp; //holding variable while ( flag ) { flag= false; //set flag to false awaiting a possible swap for( j=0; j < num.length -1; j++ ) { if ( num[ j ] < num[j+1] ) // change to > for ascending sort { temp = num[ j ]; //swap elements num[ j ] = num[ j+1 ]; num[ j+1 ] = temp; flag = true; //shows a swap occurred } } } Sample public class Sort { public static void bubbleSort ( int [ ] array ) { int temp; for ( int pass = 1; pass < array.length; pass++ ) { for ( int i = 0; i < array.length – 1; i++ ) { if ( array[i] > array[i+1] ) { temp = array[i]; array[i] = array[i+1]; array[i+1] = temp; } } System.out.print(“\nPass ” + (pass) + ” : “); BubbleSort.display(array); } } } class BubbleSort { static void display ( int array[] ) { for ( int i=0; i< array.length; i++ ) System.out.print(array[i] + ” ” ); } public static void main ( String args[] ) { int arr[] = { 50, 30, 20, 10, 40 }; System.out.print(“Initial array : “); display(arr); Sort.bubbleSort (arr); } } User Input public class Sort { public static void main(String []args) { int n, c, d, swap; Scanner in = new Scanner(System.in); System.out.println(“Input size of integers to sort”); n = in.nextInt(); int array[] = new int[n]; System.out.println(“Enter ” + n + ” integers”); for (c = 0; c < n; c++) array[c] = in.nextInt(); for (c = 0; c < ( n – 1 ); c++) { for (d = 0; d < n – c – 1; d++) { if (array[d] > array[d+1]) /* For descending order use < */ { swap = array[d]; array[d] = array[d+1]; array[d+1] = swap; } } } System.out.println(“Sorted list of numbers”); for (c = 0; c < n; c++) System.out.println(array[c]); } } INSERTION SORT // Insertion Sort Method for Descending Order public static void InsertionSort( int [ ] num) { int j; // the number of items sorted so far int key; // the item to be inserted int i; for (j = 1; j < num.length; j++) { // Start with 1 (not 0) key = num[ j ]; for(i = j – 1; (i >= 0) && (num[ i ] < key); i–) // Smaller values are moving up { num[ i+1 ] = num[ i ]; } num[ i+1 ] = key; // Put the key in its proper location } } Sample class Sort { static void Insertion ( Comparable []array, int n ) { for ( int unsorted=1; unsorted<n; unsorted++ ) { Comparable nextItem = array[unsorted]; int loc = unsorted; while ( (loc>0) && ( array[loc-1].compareTo(nextItem)>0)) { array[loc] = array[loc-1]; loc–; } array[loc] = nextItem; System.out.print(“\nPass ” + unsorted + ” : “); InsertionSort.display(array); } } } class InsertionSort { static void display ( Comparable array[] ) { for ( int i=0; i< array.length; i++ ) System.out.print(array[i] + ” ” ); } public static void main ( String args[] ) { Comparable arr[] = { new Integer(50), new Integer(30), new Integer(20), new Integer(10), new Integer(40) }; System.out.print(“Initial array : “); display(arr); Sort.Insertion (arr, arr.length ); } } Another Example public class InsertionSort { public static void main(String[] args) { int[] input = { 4, 2, 9, 6, 23, 12, 34, 0, 1 }; insertionSort(input); } private static void printNumbers(int[] input) { for (int i = 0; i < input.length; i++) { System.out.print(input[i] + “, “); } System.out.println(“\n”); } public static void insertionSort(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); } } } User Input import java.util.*; class InsertionSort { static Scanner in = new Scanner(System.in); public static void main(String[]args) { System.out.println(“Enter your Array Size”); int n = in.nextInt(); int[]arr = new int[n]; fillArray(arr,n); insertionSort(arr,n);// callint selection sort method printArray(arr,n); } // Insertion sort method static void insertionSort(int[]a,int n) { for(int out=1;out<n;out++) { int temp = a[out]; // 2 1 5 3 0 int in = out; while(in>0&&a[in-1]>=temp) { a[in]=a[in-1]; in–; } a[in]=temp; } } static void fillArray(int []a, int n)// fill array Method { System.out.println(“Enter Your Elements”); for(int i=0;i<n;i++) a[i]=in.nextInt(); } static void printArray(int []a, int n)// print array Method. { System.out.print(“Array Elements = “); for(int i=0;i<n;i++) System.out.print(a[i]+”\t”); System.out.println(” “); } } MERGE SORT Sample public class MergeSort { int array[]; int size; public MergeSort(int n) { size=n; //create array with size n array=new int[n]; //asign value into the array for (int i=0;i<n;i++){ array[i]=(int) Math.round(Math.random()*89+10); } } public int getSize() { return size; } public void merge(int left, int mid, int right) { int temp [] =new int[right-left+1]; int i = left; int j = mid+1; int k = 0; while (i <= mid && j <= right) { if (array[i] <= array[j]) { temp[k] = array[i]; k++; i++; } else { //array[i]>array[j] temp[k] = array[j]; k++; j++; } } while(j<=right) temp[k++]=array[j++]; while(i<=mid) temp[k++]=array[i++]; for(k=0;k<temp.length;k++) array[left+k]=temp[k]; } public void merge_sort(int left,int right){ // Check if low is smaller then high, if not then the array is sorted if(left<right){ // Get the index of the element which is in the middle int mid=(left+right)/2; // Sort the left side of the array merge_sort(left,mid); // Sort the right side of the array merge_sort(mid+1,right); // Combine them both merge(left,mid,right); } } public void print(){ System.out.println(“Contents of the Array”); for(int k=0;k<15;k++) { System.out.print(array[k]+” | “); } System.out.println(); } public static void main(String args[]){ MergeSort m=new MergeSort(15); System.out.println(“Before Sort <<<<<<<<<<<<<<<<<<<<<”); m.print(); m.merge_sort(0,m.getSize()-1); System.out.println(“After Sort > > > > > > > > > > > >”); m.print(); System.out.println(“=======+============+=======+============+=========”); MergeSort m2=new MergeSort(25); System.out.println(“Before Sort <<<<<<<<<<<<<<<<<<<<<”); m2.print(); m2.merge_sort(0,m2.getSize()-1); System.out.println(“After Sort > > > > > > > > > > > >”); m2.print(); System.out.println(“=======+============+=======+============+=========”); MergeSort m3=new MergeSort(30); System.out.println(“Before Sort <<<<<<<<<<<<<<<<<<<<<”); m3.print(); m3.merge_sort(0,m3.getSize()-1); System.out.println(“After Sort > > > > > > > > > > > >”); m3.print(); System.out.println(“=======+============+=======+============+=========”); } }