Sorting algorithms in java array
There are many sorting algorithms in data structures world each having their own pros and cons.let's see how these searching algorithms can be implemented in Java using arrays.
Below are the implemented searching algorithms in the below example code.
- Implement bubble sort in java.
- Implement selection sort in java.
- Implement insertion sort in java.
- Implement quick sort in java.
- Implement merge sort in java.
package com.krish.sorting; import java.util.Random; public class SortingTechniques { // Applies selection sort technique to the given array public static int[] doSelectionSort(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 smallerNumber = arr[index]; arr[index] = arr[i]; arr[i] = smallerNumber; } return arr; } // Applies bubble sort technique to the given array public static int[] doBubbleSort(int[] arr) { int n = arr.length; int k; for (int m = n; m >= 0; m--) { for (int i = 0; i < n - 1; i++) { k = i + 1; if (arr[i] > arr[k]) { swapNumbers(i, k, arr); } } } return arr; } // Applies Insertion sorting Technique public static int[] doInsertionSort(int[] arr) { int temp; for (int i = 1; i < arr.length; i++) { for (int j = i; j > 0; j--) { if (arr[j] < arr[j - 1]) { temp = arr[j]; arr[j] = arr[j - 1]; arr[j - 1] = temp; } } } return arr; } // Applies Quick sort to the given array public static void doQuickSort(int lowerIndex, int higherIndex,int[] myArray) { int i = lowerIndex; int j = higherIndex; // calculate pivot number, I am taking pivot as middle index number int pivot = myArray[lowerIndex + (higherIndex - lowerIndex) / 2]; // Divide into two arrays while (i <= j) { /** * In each iteration, we will identify a number from left side which * is greater then the pivot value, and also we will identify a * number from right side which is less then the pivot value. Once * the search is done, then we exchange both numbers. */ while (myArray[i] < pivot) { i++; } while (myArray[j] > pivot) { j--; } if (i <= j) { exchangeNumbers(i, j,myArray); // move index to next position on both sides i++; j--; } } // call quickSort() method recursively if (lowerIndex < j) doQuickSort(lowerIndex, j,myArray); if (i < higherIndex) doQuickSort(i, higherIndex,myArray); } private static void exchangeNumbers(int i, int j,int[] myArray) { int temp = myArray[i]; myArray[i] = myArray[j]; myArray[j] = temp; } private static void swapNumbers(int i, int k, int[] arr) { int temp; temp = arr[i]; arr[i] = arr[k]; arr[k] = temp; } public static void printArray(int[] printArray) { for (int i : printArray) { System.out.print(i); System.out.print(", "); } } private static int[] getRandomNumbersArray() { Random myRandom = new Random(); int[] randomArray = { myRandom.nextInt(100), myRandom.nextInt(20), myRandom.nextInt(600), myRandom.nextInt(60), myRandom.nextInt(200) }; return randomArray; } public static void main(String[] args) { int[] myArray = getRandomNumbersArray(); System.out.println("\nBefore Selection sort:"); printArray(myArray); System.out.println("\nAfter Selection sort:"); printArray(doSelectionSort(myArray)); myArray = getRandomNumbersArray(); System.out.println("\nBefore Bubble sort:"); printArray(myArray); System.out.println("\nAfter Bubble sort:"); printArray(doSelectionSort(myArray)); myArray = getRandomNumbersArray(); System.out.println("\nBefore Insertion sort:"); printArray(myArray); System.out.println("\nAfter Insertion sort:"); printArray(doSelectionSort(myArray)); myArray = getRandomNumbersArray(); System.out.println("\nBefore Quick sort:"); printArray(myArray); int length = myArray.length; doQuickSort(0, length - 1,myArray); System.out.println("\nAfter Quick sort:"); printArray(myArray); } }Output :
Before Selection sort:
10, 0, 480, 41, 175,
After Selection sort:
0, 10, 41, 175, 480,
Before Bubble sort:
77, 3, 91, 4, 8,
After Bubble sort:
3, 4, 8, 77, 91,
Before Insertion sort:
35, 14, 41, 24, 168,
After Insertion sort:
14, 24, 35, 41, 168,
Before Quick sort:
6, 9, 188, 21, 102,
After Quick sort:
6, 9, 21, 102, 188,
References : [1][2]
1 comments to "Sorting algorithms in java array"
Post a Comment
Whoever writes Inappropriate/Vulgar comments to context, generally want to be anonymous …So I hope U r not the one like that?
For lazy logs, u can at least use Name/URL option which doesn’t even require any sign-in, The good thing is that it can accept your lovely nick name also and the URL is not mandatory too.
Thanks for your patience
~Krishna(I love "Transparency")
Popular Posts
-
The best solution to know about these init levels is to understand the " man init " command output on Unix. There are basically 8...
-
How to Unlock BSNL 3G data card to use it with Airtel and Vodafone Model no : LW272 ? How to unlock BSNL 3G data card( Model no : LW272 )us...
-
How to transfer bike registration from one State to other (Karnataka to Andhra)?? Most of us having two wheelers purchased and registered in...
-
ఓం శ్రీ స్వామియే శరణం ఆయ్యప్ప!! Related posts : Trip to Sabarimala - Part 1 Trip to Sabarimala - Part 2 Ayappa Deeksha required things...
-
Following are some of interesting blogs I found till now ...please comment to add your blog here. Blogs in English : http://nitawriter.word...
Popular posts
- Airtel and vodafone GPRS settings for pocket PC phones
- Andhra 2 America
- Ayyappa Deeksha required things
- Blogs I watch !
- Captions for your bike
- DB2 FAQs
- Deepavali Vs The Goddes of sleep
- ETV - Dhee D2 D3
- Evolution of smoking in India Women
- How to make credit card payments?
- init 0, init 1, init 2 ..
- Java-J2EE interview preparation
- mCheck Application jar or jad download
- My SQL FAQs
- My Travelogues
- Old is blod - New is italic
- Online pay methids for credit cards
- Oracle FAQs
- Pilgrimages
- Smoking in Indian Women
- Technology Vs Humans
- Twitter feeds for all Telugu stars on single page.
- Unix best practices
- Unix FAQs
Abderrahmen Ben Mariem says:
Great java programming course