<script>
/*冒泡排序*/
function bubbleSort(arr){
for(var r=1;r<arr.length;r++){
for(var i="0";i<arr.length-1;i++){
if(arr[i]>arr[i+1]){
**arr[i]+=arr[i+1];
arr[i+1]=arr[i]-arr[i+1];
arr[i]-=arr[i+1];**
以上三句话是作为交换数字的固定套路吗?
}
}
}
}
var arr=[3,7,4,5,8,9,6];
bubbleSort(arr);
console.log(arr);
</script>
数组有sort方法,不需要自己写。自己是的
不熟悉JS。根据我的理解这里大概只是玩弄技巧,不使用中间变量来交换两个数。
如同C/C++ swap a和b:
a=a+b;
b=a-b;
a=a-b;
固定套路是这样的,不过在动态语言中,有sort方法,没必要自己写
temp=arr[i+1];
a[i+1]=arr[i]
arr[i]=temp
我怎么记得是这样呢。。。不知道对不对
var curr=arr[i],p=i-1;
while(arr[p]>curr){
arr[p+1]=arr[p];
p--;
console.log(p);
}
但是你的i='0',真的没有问题吗?
不就是个冒泡吗,知道原理就行,不用那么复杂,其实不论哪种语言及表现方式道理都是一模一样的
没错
那是套路,前人总结的,很经典