FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
java/sorting/QuickSort.java at master · AllAlgorithms/java · GitHub
Uh oh!
There was an error while loading.
Please reload this page
.
This repository was archived by the owner on Sep 7, 2025. It is now read-only.
AllAlgorithms
/
java
Public archive
Notifications
You must be signed in to change notification settings
Fork
83
Star
116
Code
Issues
3
Pull requests
6
Actions
Security and quality
0
Insights
Additional navigation options
Code
Issues
Pull requests
Actions
Security and quality
Insights
Expand file tree
Breadcrumbs
java
/
sorting
/
QuickSort.java
Copy path
More file actions
More file actions
Latest commit
History
History
History
78 lines (68 loc) · 2.1 KB
Breadcrumbs
java
/
sorting
/
QuickSort.java
Copy path
File metadata and controls
78 lines (68 loc) · 2.1 KB
Raw
Copy raw file
Download raw file
Open symbols panel
Edit and raw actions
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
// Java program for implementation of QuickSort
class
QuickSort
{
/* This function takes last element as pivot,
places the pivot element at its correct
position in sorted array, and places all
smaller (smaller than pivot) to left of
pivot and all greater elements to right
of pivot */
int
partition
(
int
arr
[],
int
low
,
int
high
)
{
int
pivot
=
arr
[
high
];
int
i
= (
low
-
1
);
// index of smaller element
for
(
int
j
=
low
;
j
<
high
;
j
++)
{
// If current element is smaller than or
// equal to pivot
if
(
arr
[
j
] <=
pivot
)
{
i
++;
// swap arr[i] and arr[j]
int
temp
=
arr
[
i
];
arr
[
i
] =
arr
[
j
];
arr
[
j
] =
temp
;
}
}
// swap arr[i+1] and arr[high] (or pivot)
int
temp
=
arr
[
i
+
1
];
arr
[
i
+
1
] =
arr
[
high
];
arr
[
high
] =
temp
;
return
i
+
1
;
}
/* The main function that implements QuickSort()
arr[] --> Array to be sorted,
low --> Starting index,
high --> Ending index */
void
sort
(
int
arr
[],
int
low
,
int
high
)
{
if
(
low
<
high
)
{
/* pi is partitioning index, arr[pi] is
now at right place */
int
pi
=
partition
(
arr
,
low
,
high
);
// Recursively sort elements before
// partition and after partition
sort
(
arr
,
low
,
pi
-
1
);
sort
(
arr
,
pi
+
1
,
high
);
}
}
/* A utility function to print array of size n */
static
void
printArray
(
int
arr
[])
{
int
n
=
arr
.
length
;
for
(
int
i
=
0
;
i
<
n
; ++
i
)
System
.
out
.
print
(
arr
[
i
]+
" "
);
System
.
out
.
println
();
}
// Driver program
public
static
void
main
(
String
args
[])
{
int
arr
[] = {
10
,
7
,
8
,
9
,
1
,
5
};
int
n
=
arr
.
length
;
QuickSort
ob
=
new
QuickSort
();
ob
.
sort
(
arr
,
0
,
n
-
1
);
System
.
out
.
println
(
"sorted array"
);
printArray
(
arr
);
}
}
Back
|
FazBrowse Home
|
New Git URL