一. 冒泡排序JavaScript代碼實現:
function bubbleSort(arr) {
var len = arr.length;
for (var i = 0; i < len; i++) {
for (var j = 0; j < len - 1 - i; j++) {
if (arr[j] > arr[j+1]) { //相鄰元素兩兩對比
var temp = arr[j+1]; //元素交換
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
return arr;
}
通過兩個參數封裝成可以正序和倒序的方法:
function goudan(arr,m){
if(m=='倒序'){
for(var i=0; i<arr.length; i++){
for(var j = 0; j<arr.length-1-i; j++){
if(arr[j]<arr[j+1]){
var temp = null;
temp = arr[j+1];
arr[j+1]= arr[j];
arr[j]=temp;
console.log(arr+'------------>'+i);
}
}
}
}else{
for(var i=0; i<arr.length; i++){
for(var j = 0; j<arr.length-1-i; j++){
if(arr[j]>arr[j+1]){
var temp = null;
temp = arr[j+1];
arr[j+1]= arr[j];
arr[j]=temp;
console.log(arr+'------------>'+i);
}
}
}
}
return arr;
}
二. 選擇排序:
function selectionSort(arr) {
var len = arr.length;
var minIndex, temp;
for (var i = 0; i < len - 1; i++) {
minIndex = i;
for (var j = i + 1; j < len; j++) {
if (arr[j] < arr[minIndex]) { //尋找最小的數
minIndex = j; //將最小數的索引保存
}
}
temp = arr[i];
arr[i] = arr[minIndex];
arr[minIndex] = temp;
}
return arr;
}