FazBrowse GitHub Viewer
|
Trending
|
URL:
|
Home
Tools:
[Download Repo ZIP]
[View Raw Code]
[Original HTTPS Page]
Algorithm/Shell Sort.cpp at main · vatsalya1102/Algorithm · GitHub
vatsalya1102
/
Algorithm
Public
forked from
heyimShivam/Algorithm
Notifications
You must be signed in to change notification settings
Fork
0
Star
0
Code
Pull requests
0
Actions
Projects
Security and quality
0
Insights
Additional navigation options
Code
Pull requests
Actions
Projects
Security and quality
Insights
Expand file tree
Breadcrumbs
Algorithm
/
Shell Sort.cpp
Copy path
More file actions
More file actions
Latest commit
History
History
History
50 lines (42 loc) · 1.21 KB
Breadcrumbs
Algorithm
/
Shell Sort.cpp
Copy path
File metadata and controls
50 lines (42 loc) · 1.21 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
//
C++ implementation of Shell Sort
#
include
<
iostream
>
using
namespace
std
;
/*
function to sort arr using shellSort
*/
void
shellSort
(
int
arr[],
int
n)
{
//
Start with a big gap, then reduce the gap
for
(
int
gap = n /
2
; gap >
0
; gap /=
2
) {
//
Do a gapped insertion sort for this gap size.
//
The first gap elements arr[0..gap-1] are already in gapped order
//
keep adding one more element until the entire array is
//
gap sorted
for
(
int
i = gap; i < n; i +=
1
) {
//
add arr[i] to the elements that have been gap sorted
//
save arr[i] in temp and make a hole at position i
int
temp = arr[i];
//
shift earlier gap-sorted elements up until the correct
//
location for arr[i] is found
int
j;
for
(j = i; j >= gap && arr[j - gap] > temp; j -= gap)
arr[j] = arr[j - gap];
//
put temp (the original arr[i]) in its correct location
arr[j] = temp;
}
}
}
void
printArray
(
int
arr[],
int
n)
{
for
(
int
i =
0
; i < n; i++)
cout << arr[i] <<
"
"
;
cout <<
"
\n
"
;
}
int
main
()
{
int
arr[] = {
2
,
31
,
45
,
8
,
6
};
int
n =
sizeof
(arr) /
sizeof
(arr[
0
]);
cout <<
"
Array before sorting:
\n
"
;
printArray
(arr, n);
shellSort
(arr, n);
cout <<
"
Array after sorting:
\n
"
;
printArray
(arr, n);
}
Back
|
FazBrowse Home
|
New Git URL