LTといえば普通は技術紹介、気になるサービス紹介が普通でしょうが
私はあさっての方向の紹介担当です。
ボイジャー太陽圏ででたよ from szilkworm
たまには宇宙に思いを馳せましょう。
正の自然数nが素数pで割り切れというものです。
n = ab (a > 1, b > 1)と分解できるとき、pはa, bの内の少なくとも一方を割り切る。
var bubbleSort = function(numbers) { var i = 0; var j = 0; var length = numbers.length; var temp = 0; for(i = 0; i < length - 1; i++) { for(j = 0; j < length - i - 1; j++) { if(numbers[j] > numbers[j + 1]) { swap(numbers, j, j + 1); } } } };隣り合う要素の交換が行われるため、隣接交換法と呼ばれたり、大きな数字が右側に移動していくさまが泡のようだからバブルソートなんて呼ばれているわけである。
var mergeSort = function(numbers) { var sort = function(start, end) { var i = 0; var j = 0; var k = 0; var temp = []; if(start >= end) { return; } var mid = Math.floor((start + end) / 2); sort(Math.floor(start), mid); sort(mid + 1, Math.floor(end)); for(i = start; i <= mid; i++) { temp[i] = numbers[i]; } for(i = mid + 1, j = end; i <= end; i++, j--) { temp[i] = numbers[j]; } i = start; j = end; for(k = start; k <= end; k++) { if(temp[i] <= temp[j]) { numbers[k] = temp[i]; i++; } else { numbers[k] = temp[j]; j--; } } }; sort(0, numbers.length - 1); };
var quickSort = function(numbers) { var sort = function(start, end) { var pivot = numbers[Math.floor((start + end) / 2)]; var i = start; var j = end; while(true) { while(numbers[i] < pivot) { i++; } while(pivot < numbers[j]) { j--; } if(i >= j) { break; } swap(numbers, i, j); i++; j--; } if(start < i - 1) { sort(start, i - 1); } if(j + 1 < end) { sort(j + 1,end); } }; sort(0, numbers.length - 1); };
var bogoSort = function(numbers) { var shuffle = function(array) { var i = 0; var length = array.length; for(i = 0; i < length; i++) { var pos = Math.floor(Math.random() * (array.length - i) + i); swap(array, i, pos); } }; var isAscending = function(array) { var i = 0; var length = array.length; for(i = 0; i < length - 1; i++) { if(array[i] > array[i + 1]) { return false; } } return true; }; var sort = function() { while(true) { if(isAscending(numbers)) { return; } shuffle(numbers); } } sort(); };