20162316刘诚昊 10月9日“查找课堂测试”

本文介绍了一个Java程序设计课程中的课堂测试案例,通过实现顺序查找和二分查找算法,并使用JDB或IDEA进行单步跟踪,对比两种查找方法在特定数据集上的执行过程。测试还要求提交代码执行截图及将代码推送到代码托管平台。

20162316刘诚昊 2017-2018-2 《Java程序设计》10月9日“查找课堂测试”

测试要求:

1 用JDB或IDEA单步跟踪在下列数据中(3 8 12 34 54 84 91 110)查找45和54的过程,对比使用顺序查找和二分查找的执行过程
2提交测试找到或找不到那一步的截图,要全屏,包含自己的学号信息
3课下把代码推送到代码托管平台

过程:

1.书上的代码

public class Searching {
    public static Comparable linearSearch (Comparable[] data, Comparable target) {
        Comparable result = null;
        int index = 0;

        while (result == null && index < data.length)
        {
            if (data[index].compareTo(target) == 0)
                result = data[index];
                index++;
        }
        return result;
    }

    public static Comparable binarySearch (Comparable[] data, Comparable target){
        Comparable result = null;
        int first = 0, last = data.length - 1, mid;

        while (result == null && first <= last)
        {
            mid = (first + last) /2;
            if (data[mid].compareTo(target) == 0)
                result = data[mid];
            else
                if (data[mid].compareTo(target)>0)
                    last = mid - 1;
                else
                    first = mid +1;
        }
        return result;
    }
}

2.自己写一个简单的main方法并调用上面的类

public class Week5_LinearSearch {
    public static void main(String[] args) {
        Comparable[] num = {3, 8, 12, 34, 54, 84, 91, 110, 2316};
        Searching qw = new Searching();
        System.out.println(qw.linearSearch(num,54));
        System.out.println(qw.linearSearch(num,45));
        System.out.println(qw.binarySearch(num,54));
        System.out.println(qw.binarySearch(num,45));
    }
}

3.设定好节点以后用debug单步追踪得到
1062676-20171009175352543-901882789.png

转载于:https://www.cnblogs.com/ignor/p/7642095.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值