JavaScript语言基础7---函数的综合练习
2017-05-01 08:28
357 查看
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JavaScript语言基础---函数综合练习</title>
</head>
<body>
<input type="button" onclick="run()" value="执行函数">
<script type="text/javascript">
function run() {
var ar = [ 0, 1, 12, 3, -4, 45, 89, 11,10, -56 ];
//document.write(getMax(ar));
//println(ar);
//document.write("<br>");
// sortArray(ar);
//println(ar);
//alert( searchElement(ar,-4));
alert( binarySearch(ar,3));
// println(ar);
//document.write("<br>");
// reverseArray(ar);
//println(ar);
}
//输出
function println(arr) {
for ( var i = 0; i < arr.length; i++) {
document.write("arr[" + i + "]=" + arr[i] + " ");
}
}
//获取数组中的最大元素--取最值
function getMax(arr) {
var max = arr[0];
for ( var i = 1; i < arr.length - 1; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}
//数组反转
function reverseArray(arr){
for(var start=0,end=arr.length-1; start<end; start++,end--){
swap(arr,start,end);
}
}
//数组排序 --冒炮
function sortArray(arr){
for(var i=0; i<arr.length-1; i++){
for(var j=0; j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}
//元素查找,,返回该元素在数组中的位置,若不存在则返回-1
function searchElement(arr,value){
for(var i=0; i<arr.length; i++){
if(arr[i]==value){
return i;
}
}
return -1;
}
//二分查找--对于有序数组而言
function binarySearch(arr,value){
var min,max,mid;
min=0;
max=arr.length-1;
while(min<=max){
mid =(max+min)>>1; // 注意,用(max+min)/2 可能会得出小数的
if(value>arr[mid]){
min = mid+1;
}else if(value<arr[mid]){
max = mid-1;
}else{
return mid;
}
}
return -1;
}
//交换数组中的两个元素
function swap(arr,i,j){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
</script>
</body>
</html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>JavaScript语言基础---函数综合练习</title>
</head>
<body>
<input type="button" onclick="run()" value="执行函数">
<script type="text/javascript">
function run() {
var ar = [ 0, 1, 12, 3, -4, 45, 89, 11,10, -56 ];
//document.write(getMax(ar));
//println(ar);
//document.write("<br>");
// sortArray(ar);
//println(ar);
//alert( searchElement(ar,-4));
alert( binarySearch(ar,3));
// println(ar);
//document.write("<br>");
// reverseArray(ar);
//println(ar);
}
//输出
function println(arr) {
for ( var i = 0; i < arr.length; i++) {
document.write("arr[" + i + "]=" + arr[i] + " ");
}
}
//获取数组中的最大元素--取最值
function getMax(arr) {
var max = arr[0];
for ( var i = 1; i < arr.length - 1; i++) {
if (max < arr[i]) {
max = arr[i];
}
}
return max;
}
//数组反转
function reverseArray(arr){
for(var start=0,end=arr.length-1; start<end; start++,end--){
swap(arr,start,end);
}
}
//数组排序 --冒炮
function sortArray(arr){
for(var i=0; i<arr.length-1; i++){
for(var j=0; j<arr.length-1-i;j++){
if(arr[j]>arr[j+1]){
swap(arr,j,j+1);
}
}
}
}
//元素查找,,返回该元素在数组中的位置,若不存在则返回-1
function searchElement(arr,value){
for(var i=0; i<arr.length; i++){
if(arr[i]==value){
return i;
}
}
return -1;
}
//二分查找--对于有序数组而言
function binarySearch(arr,value){
var min,max,mid;
min=0;
max=arr.length-1;
while(min<=max){
mid =(max+min)>>1; // 注意,用(max+min)/2 可能会得出小数的
if(value>arr[mid]){
min = mid+1;
}else if(value<arr[mid]){
max = mid-1;
}else{
return mid;
}
}
return -1;
}
//交换数组中的两个元素
function swap(arr,i,j){
var temp=arr[i];
arr[i]=arr[j];
arr[j]=temp;
}
</script>
</body>
</html>
相关文章推荐
- JavaScript语言基础---(十五)应用编程练习--制作二级下拉菜单
- Javascript 语言基础2(类型转换、函数)
- JavaScript语言基础---(五)函数
- 第二章:Java语言基础I 第24节IF综合练习
- JavaScript语言基础---函数细节继续
- Javascript 语言基础4(条件语句、循环语句、错误语句、练习)
- 二、JavaScript语言--JS基础--JavaScript进阶篇--函数
- JavaScript 语言基础知识点总结(思维导图)
- C语言基础知识之函数
- C语言基础(四)- 函数
- 郝斌的C语言基础 108 如何定义函数
- javascript函数基础
- 语言程序设计经典书籍《C++ Primer》 C++基础知识:函数,类 .........
- javascript基础练习-选项卡切换
- JavaScript 语言基础知识点总结(思维导图)
- javascript基础之七(函数闭包中this的变化)
- c语言基础学习中。。函数
- 翻译连载 | JavaScript 轻量级函数式编程-第2章:函数基础 |《你不知道的JS》姊妹篇
- JavaScript语言基础-数据运算和流程控制
- Java语言基础(函数和数组)