数据结构 挂牌成立啦

来源:互联网 发布:asio网络库 编辑:程序博客网 时间:2024/06/11 15:14

 

很久没看数据结构啦,真想回归原始社会,用javascript写的。

本人由于不会java,只好请个冒牌的来顶替,所有的代码均在winxp+Firefox 2.0 下通过测试。部分程序在IE下运行有点问题。

javascript是一个引用传替的深度复制的语言。

先来几个函数先

 

/*
 * @author beimuaihui
 
*/

/**
 * 计算1到n 的和
 * @param {Object} n
 
*/

function sum(n)
{
    
for(var i=1,ret=0;i<=n;i++)
    
{
        ret
+=i;        
    }

    
return ret;
}

/**
 * 返回三个数值的最大值
 * @param {Object} a
 * @param {Object} b
 * @param {Object} c
 
*/

function max(a,b,c)
{
    
var ret=a>b?a:b;
    
return ret>c?ret:c;
}

/**
 * 冒泡排序法
 * @param {Object} r
 
*/

function BubSort(arr)
{
    
for(var i=arr.length,sorted=0;i>0;i--)
    
{        
        
for(var j=0;j<i;j++)
        
{
            
if(arr[j]>arr[j+1])
            
{
                sorted
=1;
                
var tmp=arr[j];
                arr[j]
=arr[j+1];
                arr[j
+1]=tmp;
            }
            
        }

        
if(sorted==0)
            
break;
    }

}

/**
 *折半查找法
 * @param {Object} arr
 * @param {Object} key
 
*/

function BinSearch(arr,key)
{
    
var index=-1,lower=1,upper=arr.length;
    
while (lower <= upper) {        
        mid 
=parseInt((lower + upper) / 2);
        
if (arr[mid-1> key) 
            upper 
= mid - 1;
        
else 
            
if (arr[mid-1< key) 
                lower 
= mid + 1;
            
else {
                index 
= mid
                
break;
            }

    }

    
return index;
}

/**
 * 测试函数
 
*/

window.onload
=function(){
    
var sum1=sum(10);
    
var max1=max(1,4,3);
    
var arr=[1,6,9,3];
    BubSort(arr);
    
var indexof=BinSearch(arr,6);
    alert(sum1);
    alert(max1);
    alert(arr);
    alert(indexof);
}

在html中写入<head> <script type="text/javascript" src="ch01.js"></script></head>就可以运行啦!

 

原创粉丝点击