Skip to content

Commit 8bde32b

Browse files
authored
Merge pull request #1 from privetPekin/selection_sort_js
create selection_sort_js
2 parents bb66287 + 187f781 commit 8bde32b

File tree

3 files changed

+32
-2
lines changed

3 files changed

+32
-2
lines changed

javascript/binary_search.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,4 @@ function recursiveBinarySearch(array, item, start, end) {
2828
}
2929

3030
console.log(recursiveBinarySearch(array, 333, 0, array.length))
31-
console.log('count =', count)
31+
console.log('count:', count)

javascript/linear_search.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,4 @@ function linearSearch(array, item) {
1616
return null
1717
}
1818
console.log(linearSearch(array, 333))
19-
console.log('count =', count)
19+
console.log('count:', count)

javascript/selection_sort.js

+30
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
const { randomArray } = require("./utils");
2+
const array = randomArray(10000, 1000)
3+
4+
let count = 0
5+
/**
6+
* @description - Алгоритм сортировки выбором, сложность O(n*n).
7+
* @description - В цикле находим минимальное число в массиве и меняем его по индексу с первым элементов, далее со вторым и так далее.
8+
* @param {Array} array
9+
*/
10+
function selectionSort(arr) {
11+
let n = arr.length;
12+
for (let i = 0; i < n; i++) {
13+
let min = i;
14+
for (let j = i + 1; j < n; j++) {
15+
if (arr[j] < arr[min]) {
16+
min = j;
17+
}
18+
count += 1
19+
}
20+
if (min != i) {
21+
let tmp = arr[i];
22+
arr[i] = arr[min];
23+
arr[min] = tmp;
24+
}
25+
}
26+
return arr;
27+
}
28+
29+
console.log(selectionSort(array))
30+
console.log('count:', count)

0 commit comments

Comments
 (0)