Author: Shahrzad Jahangirian
Language: Java (using Java 8)
Date Added: January 7, 2019
Licence: My last addition to codes category was on Dec 2016 and now after 2 years and after one short term contract job as a Java Developer I am adding this Quicksort application today. As always all source codes are for showing my skills in Software Development to get me a Job as Java Developer, C++ Developer, Application Developer, Software Engineer, Analyst Programmer. You are not allowed to sell this Application or use my codes to develop an application for Sale or apply my codes to develop software for commercial use and profit. You can offer me a price to buy the Application for mass production or buy my codes to develop your application for profit.
Description: "As its name implies, quicksort is the fastest known sorting algorithm in practice. Its average running time is O(n log n). It is very fast, mainly due to a very tight and highly optimized inner loop. It has O(n2) worst-case performance, but this can be made exponentially unlikely with a little effort. The quicksort algorithm is simple to understand and prove correct, although for many years it had the reputation of being an algorithm that could in theory be highly optimized but in practice was impossible to code correctly. Like mergesort, quicksort is a divide-and-conquer recursive algorithm."[Weiss, Mark Allen. Data Structures & Algorithm Analysis in C++. Addison-Wesley, 2005.]
In reference to above extract, currently Quicksort is the fastest and most reliable sort algorithm in Software Development. I have coded the Quicksort algorithm in this application with Java language that ask user for a simple contact details of Surname, Name, and Phone number and save them in a file and then Quicksort the list by surname. I used Contact class with three String variables to keep each contact details and then each Contact saved in ArrayList of Contact class and then Quicksorted and also saved in a file for later use.
Below you find the Quicksort algorithm pseudocode from Wikipedia website at https://en.wikipedia.org/wiki/Quicksort