10000 Added QuickSort · AllAlgorithms/java@5cddf10 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5cddf10

Browse files
yashaglditabranhe
authored andcommitted
Added QuickSort
1 parent 55d8f19 commit 5cddf10

File tree

1 file changed

+78
-0
lines changed

1 file changed

+78
-0
lines changed

sorting/QuickSort.java

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Java program for implementation of QuickSort
2+
class QuickSort
3+
{
4+
/* This function takes last element as pivot,
5+
places the pivot element at its correct
6+
position in sorted array, and places all
7+
smaller (smaller than pivot) to left of
8+
pivot and all greater elements to right
9+
of pivot */
10+
int partition(int arr[], int low, int high)
11+
{
12+
int pivot = arr[high];
13+
int i = (low-1); // index of smaller element
14+
for (int j=low; j<high; j++)
15+
{
16+
// If current element is smaller than or
17+
// equal to pivot
18+
if (arr[j] <= pivot)
19+
{
20+
i++;
21+
22+
// swap arr[i] and arr[j]
23+
int temp = arr[i];
24+
arr[i] = arr[j];
25+
arr[j] = temp;
26+
}
27+
}
28+
29+
// swap arr[i+1] and arr[high] (or pivot)
30+
int temp = arr[i+1];
31+
arr[i+1] = arr[high];
32+
arr[high] = temp;
33+
34+
return i+1;
35+
}
36+
37+
38+
/* The main function that implements QuickSort()
39+
arr[] --> Array to be sorted,
40+
low --> Starting index,
41+
high --> Ending index */
42+
void sort(int arr[], int low, int high)
43+
{
44+
if (low < high)
45+
{
46+
/* pi is partitioning index, arr[pi] is
47+
now at right place */
48+
int pi = partition(arr, low, high);
49+
50+
// Recursively sort elements before
51+
// partition and after partition
52+
sort(arr, low, pi-1);
53+
sort(arr, pi+1, high);
54+
}
55+
}
56+
57+
/* A utility function to print array of size n */
58+
static void printArray(int arr[])
59+
{
60+
int n = arr.length;
61+
for (int i=0; i<n; ++i)
62+
System.out.print(arr[i]+" ");
63+
System.out.println();
64+
}
65+
66+
// Driver program
67+
public static void main(String args[])
68+
{
69+
int arr[] = {10, 7, 8, 9, 1, 5};
70+
int n = arr.length;
71+
72+
QuickSort ob = new QuickSort();
73+
ob.sort(arr, 0, n-1);
74+
75+
System.out.println("sorted array");
76+
printArray(arr);
77+
}
78+
}

0 commit comments

Comments
 (0)
0