JS编写冒泡排序法和二分查找

来源:互联网 发布:centos如何安装ssh 编辑:程序博客网 时间:2024/06/05 05:01
<html><head><title>冒泡排序法和二分查找</title><script language="javascript" type="text/javascript">//冒泡法,升序function sort(arr){var flag=true; //是否交换位置的标记for(var i=0;i<arr.length-1&& flag;i++) //有交换时进行下一趟{flag=false;       //假设元素未交换for(var j=0;j<arr.length-1-i;j++){if (arr[j]>arr[j+1]){var temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;flag=true; //有交换}}}}//二分法查找,前提是已经排好序(升序)function binaryFind(arr,find,leftIndex,rightIndex){if(leftIndex>rightIndex){document.write("没有此数据");return;}var midIndex=Math.floor((leftIndex+rightIndex)/2);if(arr[midIndex]>find){binaryFind(arr,find,leftIndex,midIndex-1);}else if(arr[midIndex]<find){binaryFind(arr,find,midIndex+1,rightIndex);}else{document.write("找到"+find+"这个数据,且下标为:"+midIndex);}return ;}var arr=[1,3,6,0,4,8,5];sort(arr);for(var i=0;i<arr.length;i++){  document.write(arr[i]+" ");}document.write("<br/>");binaryFind(arr,8,0,arr.length-1);</script></head><body></body></html>

0 0