JS实现冒泡-二分查找-反转算法

<script>

// var arr=[1,5,7,8,4,5,7,5]

//二分查找:效率高 :限制:必须有序数组

var arr=[1,2,15,16,18]

function find(low,high,n){

var mid= Math.floor((low+high)/2)

//拿到中间下标取值

if(arr[mid]==n){

return mid

}

//确定下一次查找方向

if(n>arr[mid]){

return find(mid+1,high,n)

}

if(n<arr[mid]){

return find(0,mid-1,n)

}

}

var i=find(0,arr.length,16)

//反转

var str='saaddfrv'

var brr=str.split('') /*将字符串转换为数组*/

var i=0,j=brr.length-1

while(i<j){

var temp=brr[i]

brr[i]=brr[j]

brr[j]=temp

i++

j--

}

//冒泡排序

var crr=[4,5,7,8,9,6,2,14,5]

for(var i=0;i<crr.length;i++){

for(var j=0;j<crr.length;j++){

if(crr[i]>crr[j]){

var temp=crr[i]

crr[i]=crr[j]

crr[j]=temp

}

}

}

alert(crr)

 

</script>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值