8000 Merge pull request #18 from Ditobaskoro/gnomeSort · AllAlgorithms/javascript@124fc69 · GitHub
[go: up one dir, main page]

Skip to content

Commit 124fc69

Browse files
authored
Merge pull request #18 from Ditobaskoro/gnomeSort
create gnomeSort
2 parents 7d88f45 + c2acc64 commit 124fc69

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

sorting/gnomeSort.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
// JavaScript implementation of gnome sort
2+
//
3+
// Author: Dito Baskoro
4+
5+
function gnomeSort(arr)
6+
{
7+
function moveBack(i)
8+
{
9+
for( ; i > 0 && arr[i-1] > arr[i]; i--)
10+
{
11+
let t = arr[i];
12+
arr[i] = arr[i-1];
13+
arr[i-1] = t;
14+
}
15+
}
16+
for (let i = 1; i < arr.length; i++)
17+
{
18+
if (arr[i-1] > arr[i]) moveBack(i);
19+
}
20+
return arr;
21+
}
22+
23+
const array = [3, 0, 2, 5, -1, 4, 1, -2];
24+
console.log("Original Array");
25+
console.log(array);
26+
console.log("Sorted Array");
27+
console.log(gnomeSort(array));

0 commit comments

Comments
 (0)
0