Created
October 26, 2017 19:49
-
-
Save famence/33fbf66ed60e312d7c53bfe644df3044 to your computer and use it in GitHub Desktop.
JS Bin // source https://jsbin.com/hebaxuc
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<!DOCTYPE html> | |
<html> | |
<head> | |
<meta charset="utf-8"> | |
<meta name="viewport" content="width=device-width"> | |
<title>JS Bin</title> | |
</head> | |
<body> | |
<script id="jsbin-javascript"> | |
// Пузырьковая сортировка | |
function bubbleSort(a){ | |
var n = a.length; | |
for (var i = 0; i < n-1; i++){ // Выполняется для каждого элемента массива, кроме последнего. | |
for (var j = 0; j < n-1-i; j++){ // Для всех последующих за текущим элементов | |
if (a[j+1] < a[j]){ // выпоняется проверка, и если следующий элемент меньше текущего | |
var t = a[j+1]; a[j+1] = a[j]; a[j] = t; // то эти элементы меняются местами. | |
} | |
} | |
} | |
return a; | |
}; | |
// Сортировка выбором | |
function selectionSort(a){ | |
var n = a.length; | |
for (var i=0; i<n-1; i++){ // Выполняется для каждого элемента массива, кроме последнего. | |
var min = i; // В качестве текущего минимального устанавливается текущий элемент, | |
for (var j=i+1; j<n; j++){ // а для всех последующих элементов | |
if (a[j] < a[min]) min = j; // выпоняется проверка: если следующий элемент меньше текущего, он устанавливается в качестве минимального значения. | |
var t = a[min]; a[min] = a[i]; a[i] = t; // Минимальный и текущий элементы меняются местами (если текущий = минимальный, то ничего страшного не случится). | |
} | |
} | |
return a; | |
}; | |
// Сортировка вставками | |
function insertionSort(a){ | |
var n = a.length; | |
for (var i=0; i<n; i++){ // Выполняется для каждого элемента массива. | |
var v = a[i], j = i-1; // Определяется значение текущего элемента, а также индекс предыдущего элемента. | |
while(j >= 0 && a[j] > v){ // Пока индекс предыдущего элемента >= 0 и его значение больше значения текущего элемента. | |
a[j+1] = a[j]; // Значением следующего за текущим элемента массива становится значение предыдущего элемента. | |
j--; | |
} | |
a[j+1] = v; // Значением следующего за текущим элемента массива становится значение текущего элемента | |
} | |
return a; | |
}; | |
var array = [85, 92, 12, 11, 0, 85, 1, 1, 20, 77, 01, 10.5, 10.15]; | |
console.log(bubbleSort(array)); | |
console.log(selectionSort(array)); | |
console.log(insertionSort(array)); | |
</script> | |
<script id="jsbin-source-javascript" type="text/javascript">// Пузырьковая сортировка | |
function bubbleSort(a){ | |
var n = a.length; | |
for (var i = 0; i < n-1; i++){ // Выполняется для каждого элемента массива, кроме последнего. | |
for (var j = 0; j < n-1-i; j++){ // Для всех последующих за текущим элементов | |
if (a[j+1] < a[j]){ // выпоняется проверка, и если следующий элемент меньше текущего | |
var t = a[j+1]; a[j+1] = a[j]; a[j] = t; // то эти элементы меняются местами. | |
} | |
} | |
} | |
return a; | |
}; | |
// Сортировка выбором | |
function selectionSort(a){ | |
var n = a.length; | |
for (var i=0; i<n-1; i++){ // Выполняется для каждого элемента массива, кроме последнего. | |
var min = i; // В качестве текущего минимального устанавливается текущий элемент, | |
for (var j=i+1; j<n; j++){ // а для всех последующих элементов | |
if (a[j] < a[min]) min = j; // выпоняется проверка: если следующий элемент меньше текущего, он устанавливается в качестве минимального значения. | |
var t = a[min]; a[min] = a[i]; a[i] = t; // Минимальный и текущий элементы меняются местами (если текущий = минимальный, то ничего страшного не случится). | |
} | |
} | |
return a; | |
}; | |
// Сортировка вставками | |
function insertionSort(a){ | |
var n = a.length; | |
for (var i=0; i<n; i++){ // Выполняется для каждого элемента массива. | |
var v = a[i], j = i-1; // Определяется значение текущего элемента, а также индекс предыдущего элемента. | |
while(j >= 0 && a[j] > v){ // Пока индекс предыдущего элемента >= 0 и его значение больше значения текущего элемента. | |
a[j+1] = a[j]; // Значением следующего за текущим элемента массива становится значение предыдущего элемента. | |
j--; | |
} | |
a[j+1] = v; // Значением следующего за текущим элемента массива становится значение текущего элемента | |
} | |
return a; | |
}; | |
var array = [85, 92, 12, 11, 0, 85, 1, 1, 20, 77, 01, 10.5, 10.15]; | |
console.log(bubbleSort(array)); | |
console.log(selectionSort(array)); | |
console.log(insertionSort(array));</script></body> | |
</html> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Пузырьковая сортировка | |
function bubbleSort(a){ | |
var n = a.length; | |
for (var i = 0; i < n-1; i++){ // Выполняется для каждого элемента массива, кроме последнего. | |
for (var j = 0; j < n-1-i; j++){ // Для всех последующих за текущим элементов | |
if (a[j+1] < a[j]){ // выпоняется проверка, и если следующий элемент меньше текущего | |
var t = a[j+1]; a[j+1] = a[j]; a[j] = t; // то эти элементы меняются местами. | |
} | |
} | |
} | |
return a; | |
}; | |
// Сортировка выбором | |
function selectionSort(a){ | |
var n = a.length; | |
for (var i=0; i<n-1; i++){ // Выполняется для каждого элемента массива, кроме последнего. | |
var min = i; // В качестве текущего минимального устанавливается текущий элемент, | |
for (var j=i+1; j<n; j++){ // а для всех последующих элементов | |
if (a[j] < a[min]) min = j; // выпоняется проверка: если следующий элемент меньше текущего, он устанавливается в качестве минимального значения. | |
var t = a[min]; a[min] = a[i]; a[i] = t; // Минимальный и текущий элементы меняются местами (если текущий = минимальный, то ничего страшного не случится). | |
} | |
} | |
return a; | |
}; | |
// Сортировка вставками | |
function insertionSort(a){ | |
var n = a.length; | |
for (var i=0; i<n; i++){ // Выполняется для каждого элемента массива. | |
var v = a[i], j = i-1; // Определяется значение текущего элемента, а также индекс предыдущего элемента. | |
while(j >= 0 && a[j] > v){ // Пока индекс предыдущего элемента >= 0 и его значение больше значения текущего элемента. | |
a[j+1] = a[j]; // Значением следующего за текущим элемента массива становится значение предыдущего элемента. | |
j--; | |
} | |
a[j+1] = v; // Значением следующего за текущим элемента массива становится значение текущего элемента | |
} | |
return a; | |
}; | |
var array = [85, 92, 12, 11, 0, 85, 1, 1, 20, 77, 01, 10.5, 10.15]; | |
console.log(bubbleSort(array)); | |
console.log(selectionSort(array)); | |
console.log(insertionSort(array)); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment