Skip to content

Commit a2fbe20

Browse files
authored
Create Quicksort.cpp
1 parent 8fb4346 commit a2fbe20

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

Quicksort.cpp

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
2+
#include <bits/stdc++.h>
3+
using namespace std;
4+
5+
6+
void swap(int* a, int* b)
7+
{
8+
int t = *a;
9+
*a = *b;
10+
*b = t;
11+
}
12+
13+
14+
int partition (int arr[], int low, int high)
15+
{
16+
int pivot = arr[high];
17+
int i = (low - 1);
18+
19+
for (int j = low; j <= high - 1; j++)
20+
{
21+
22+
if (arr[j] < pivot)
23+
{
24+
i++;
25+
swap(&arr[i], &arr[j]);
26+
}
27+
}
28+
swap(&arr[i + 1], &arr[high]);
29+
return (i + 1);
30+
}
31+
32+
33+
void quickSort(int arr[], int low, int high)
34+
{
35+
if (low < high)
36+
{
37+
38+
int pi = partition(arr, low, high);
39+
40+
41+
quickSort(arr, low, pi - 1);
42+
quickSort(arr, pi + 1, high);
43+
}
44+
}
45+
46+
47+
void printArray(int arr[], int size)
48+
{
49+
int i;
50+
for (i = 0; i < size; i++)
51+
cout << arr[i] << " ";
52+
cout << endl;
53+
}
54+
55+
56+
int main()
57+
{
58+
int arr[] = {10, 7, 8, 9, 1, 5};
59+
int n = sizeof(arr) / sizeof(arr[0]);
60+
quickSort(arr, 0, n - 1);
61+
cout << "Sorted array: ";
62+
printArray(arr, n);
63+
return 0;
64+
}
65+

0 commit comments

Comments
 (0)