Web前端 js实现基本排序与去重

vue.js前端开发 pdf|vue.js前端开发 pdf|前端和ios开发前景

//位置交换

Array.prototype.wrap=function(i,j){
var temp;
temp=this[i];
this[i]=this[j];
this[j]=temp;
return this;
}
//数组去重
Array.prototype.unique=function(){
var outArr=[];
for(var i=0;i<this.length;i++){
if(outArr.indexOf(this[i])==-1){
outArr.push(this[i]);
}
}
return outArr;
};
//冒泡排序
Array.prototype.boomp=function(){
var flag=true;
for(var j=0;j<this.length-1&&flag;j++) {
flag = false;
for (var i = 0; i < this.length – j – 1; i++) {
if (this[i] > this[i + 1]) {
this.wrap(i, i + 1);
flag = true;
}
}
}
return this;
};
// 插入排序
Array.prototype.insertp=function(){
for(var i=1;i<this.length;i++) {
var j=i-1;
var temp=this[i];
while(temp<this[j]){
this[j+1]=this[j];
j–;
if(j==-1){
break;
}
}
this[j+1]=temp;
}
return this;
};
//选择排序
Array.prototype.selectp=function(){
var L=this.length;
for(var j=0;j<L-1;j++) {
var m=j;
for (var i = j+1; i < L; i++) {
if (this[m] > this[i]) {
m = i;
if(m!=j){
this.wrap(j,m);
}
}
}
}
return this;
};
//快排(一)
Array.prototype.quickp=function(left,right){
if(left < right) {
var s = this[left];
var i = left;
var j = right + 1;
while(true) {
// 向右找
while(i + 1 < this.length && this[++i] < s) ;
// 向左找
while(j -1 > -1 && this[–j] > s) ;
if(i >= j){
break;
}else{
this.wrap( i, j);
}
}
this[left] = this[j];
this[j] = s;
this.quickp(left, j-1); // 对左边进行递回
this.quickp(j+1, right); // 对右边进行递回
}
return this;
};

mac pro 2017前端开发|秦皇岛前端js开发|前端开发笔试题js 选择题

» 本文来自:前端开发者 » 《Web前端 js实现基本排序与去重》
» 本文链接地址:https://www.rokub.com/5265.html
» 您也可以订阅本站:https://www.rokub.com
赞(0)
64K

评论 抢沙发

评论前必须登录!