1.冒泡排序
function sort(array){
for(var i=0;i<array.length;i++){
for(var j=0;j<array.length-i-1;j++){
if(array[j]<array[j+1]){
var temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
2.去重
function norepeat(arr){
var arrnew=[];
for(var i=0;i<arr.length;i++){
if(arrnew.indexOf(arr[i])<0){//不包含时为-1
arrnew.push(arr[i])
}
}
return arrnew;
}
function norepeat1(arr) {
var obj = {};
var newArr = [];
for(var i = 0; i < arr.length; i++) {
if(obj[arr[i]] == undefined) {
newArr.push(arr[i]);
obj[arr[i]] = 1;
}
}
return newArr;
}
function noreat2(arr){
for(var i=0;i<arr.length;i++){
for(var j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--;
}
}
}
return arr;
}
function norepeat3(arr){
arr.sort();
for(var i = 0; i < arr.length-1;i++){
if(arr[i]==arr[i+1]){
arr.splice(i,1);
i--;
}
}
return arr;
}
function norepeat4(arr){
for(var i=0; i<arr.length-1;i++){
for(j=i+1;j<arr.length;j++){
if(arr[i]==arr[j]){
arr[j]=0;
}
}
if(arr[i]==0){
continue;
}else{
newArr.push(arr[i]);
}
}
return arr;
}//用这个方法的条件是arr中不含0 这个项
3.快速排序
function quickSort(arr){
var len =arr.length,index,pivot,left=[],right=[];
var num=0;
if(len<=1) return arr;
index=Math.floor(len/2);
pivot=arr.splice(index,1);
len-=1;
for(var i=0;i<len;i++){
num++;
if(pivot>arr[i]){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
return quickSort(left).concat(pivot,quickSort(right));
}
比如:array=[12,13,5,8,90,38,45,67,75];
快排运算了8次;?
冒泡运算了36次;8+7+6+5+4+3+2+1=36
网友评论