javascript上机题

每个学过编程的人都写过“HelloWorld”

但99乘法表、冒泡排序这类程序,我想也应该成为每个编程初学者的必编程序

这是JavaScript的实现方法,非常适合初学者!!!


1.在网页中打印99乘法表
例如: 1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
......

我写的程序如下:

       for (var i = 1;i<=9; i++) {
      <span style="white-space:pre">	</span>  for (var j = 1; j<= i;j++) {
      <span style="white-space:pre">	</span>  document.write(i + " * " +j + " = "+i*j + "  ");
     <span style="white-space:pre">	</span>   } 
    <span style="white-space:pre">	</span>    document.write("<br />");
    <span style="white-space:pre">	</span>}
       document.write("第二题:<br />");


2.编写函数,对给定数组排序。

我选择了冒泡排序来排数组。

<span style="white-space:pre">	</span>function mp1 (list){
<span style="white-space:pre">		</span>var n = list.length;
<span style="white-space:pre">		</span>var tmp;
<span style="white-space:pre">		</span>var exchange;
<span style="white-space:pre">		</span>for (var time = 0; time< n-1;time++ ){
<span style="white-space:pre">			</span>exchange = false;
<span style="white-space:pre">			</span>for(var i = n - 1; i> time; i--){
<span style="white-space:pre">			</span>if (list[i] <list[i -1 ]) {
<span style="white-space:pre">			</span>exchange = true;
<span style="white-space:pre">			</span>tmp = list[i-1];
<span style="white-space:pre">			</span>list[i-1] = list[i];
<span style="white-space:pre">			</span>list[i] = tmp;
<span style="white-space:pre">				</span>}
<span style="white-space:pre">			</span>}<span style="white-space:pre">	</span>
<span style="white-space:pre">			</span>if (!exchange) {
<span style="white-space:pre">				</span>break;
<span style="white-space:pre">			</span>}

<span style="white-space:pre">		</span>}
<span style="white-space:pre">	</span>document.write(list + " : " + time);
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>var arr1 = [1,2,3,4,5,6,7,8,9,78];
<span style="white-space:pre">	</span>mp1(arr1);


3.编写函数,查找一个有序数组是否包含某个值。(折半查找)

<span style="white-space:pre">	</span>function halfSearch(arr,num){
<span style="white-space:pre">		</span>var first = 0;
<span style="white-space:pre">		</span>var last = arr.length-1;
<span style="white-space:pre">		</span>var middle = 0;
<span style="white-space:pre">		</span>while(first <= last){
<span style="white-space:pre">			</span>middle = parseInt((first+ last)/2);
<span style="white-space:pre">			</span>if (num == arr[middle]){
<span style="white-space:pre">			</span>document.writeln(arr[middle] + "的位置是" + middle + "。");
<span style="white-space:pre">			</span>break;
<span style="white-space:pre">			</span>}else if(num < arr[middle]){
<span style="white-space:pre">			</span>last = middle -1;
<span style="white-space:pre">			</span>}else {
<span style="white-space:pre">			</span>first = middle+1;
<span style="white-space:pre">				</span>}
<span style="white-space:pre">			</span>}
<span style="white-space:pre">		</span>return arr[middle];
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>var arr_1= [-1,1,5,8,9,12,100,1000,1111];
<span style="white-space:pre">	</span>var num = 100;
<span style="white-space:pre">	</span>var a = halfSearch(arr_1,num);
<span style="white-space:pre">	</span>document.writeln(a);

二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好;其缺点是要求待查表为有序表,且插入删除困难。

因此,折半查找方法适用于不经常变动而查找频繁的有序列表。首先,假设表中元素是按升序排列,将表中间位置记录的

关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前、后两个子表,如果中间位置

记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。重复以上过程,直到找到满足条件的

记录,使查找成功,或直到子表不存在为止,此时查找不成功。

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值