Front-end algorithm

Algorithm Algorithm distal :( + Data Structures = Programs)
re-check:

var arr = [1, 3, 2, 2, 3, 4, 5, 6, 8, 9, 10, 10]
for (var i = 0; i < arr.length; i++) {
for (var j = i + 1; j < arr.length; j++) {
if (arr[i] == arr[j]) {
console.log(arr[i]);
}
}
}
var obj = {};
var count1 = 0;
for (var i = 0; i < arr.length; i++) {
count1++;
if (!obj[arr[i]]) {
obj[arr[i]] = true;
} else {
console.log(arr[i]);
}
}
console.log('count1:', count1) //最优

Sorting algorithms:
Bubble Sort :( comparison + exchanger)

var arr = [1, 34, 23, 5, 6, 34, 77, 14, 46, 76, 88]
for (var j = 0; j < arr.length; j++) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
console.log(arr);
var arr = [1, 34, 23, 5, 6, 34, 77, 14, 46, 76, 88]
for (var j = 0; j < arr.length; j++) {
for (var i = 0; i < arr.length – j; i++) {
if (arr[i] > arr[i + 1]) {
var temp = arr[i];
arr[i] = arr[i + 1];
arr[i + 1] = temp;
}
}
}
console.log(arr); //最优

Selection Sort :( be used: a small amount of data)

var arr = [1, 34, 23, 5, 6, 34, 77, 14, 46, 76, 88]
for (var i = 0; i < arr.length; i++) {
var max = 0;
for (var j = 0; j < arr.length - i; j++) {
if (compare(arr[j], arr[max])) {
max = j;
}
}
exchange(arr, max, arr.length - i - 1);
}
console.log(arr);

function compare(a, b) {
if (a > b) {
return true;
} else {
return false;
}
}

function exchange(arr, m, n) {
var temp = arr[m];
arr[m] = arr[n];
arr[n] = temp;
}

 

Guess you like

Origin www.cnblogs.com/dlc1996/p/11454283.html