冒泡排序 ,选择排序,插入排序,去重
//定义一个数组
var arr = [2,4,7,5,3,8]
//循环遍历数组
for(var i<0;i<arr.length;i++){
//二次循环
for(var j=0;j<arr.length-i-1;j++){
//一 一大小对比
if(arr[j] > arr[j+1]){
//值交换
var temp = arr[j]
arr[j] = arr[j+1]
arr[j+1] = temp
}
}
}
alert(arr) // 2,3,4,5,7,8
//选择排序
var arr = [2,4,5,1,3];
for(var i=0;i<arr.length;i++){
var minIndex = i,
min = arr[i];
for(var j=i+1;j<arr.length;j++){
if(arr[j] < min){
minIndex = j
min = arr[j]
}
}
if(minIndex != i){
var temp =arr[i]
arr[i] = arr[minIndex]
arr[minIndex] = temp
}
}
alert(arr)
//插入排序
var arr = [1,9,6,8,3,4];
function insertionSort (arr){
var len = arr.length;
var preIndex,current;
for(var i=1;i<len;i++){
preIndex = i-1;
current = arr[i];
while(preIndex >= 0 && arr[preIndex] > current){
arr[preIndex+1] = arr[preIndex]
preIndex--;
}
arr[preIndex+1] = current
}
return arr
}
console.log(insertionSort(arr3))
//去重
var arr = [1,2,3,4,2,3,5];
Array.propotype.qc = function(){
var res = [],
jsona = {};
for(var i=1;i<this.length;i++){
if(!jsona[this[i]){
res.push(this[i])
jsona[this[i]] = 1;
}
}
return res
}
console.log(arr.qc())