package Daniel;
import java.util.Scanner;
public class DoSearch {
public static int bisSearch(int target){
int[] a={2,3,5,7,12,15,18,36,45,67,74,87,88};
int btm=0;
int top=a.length;
int mid=(btm+top)/2;
while(a[mid]!=target){
int old_mid = mid;
if(a[mid]>target){
top=mid;
}else{
btm=mid;
}
mid=(btm+top)/2;
int new_mid=mid;
if(old_mid==new_mid){
return -1;
}
}
return mid;
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("请输入你想查找的数: ");
int a=sc.nextInt();
int index= bisSearch(a);
System.out.println(index);
if (index==-1){
System.out.println("序列中没有您要查找的数,请确认输入正确。");
}else{
System.out.println("所查找的数所在位置为:第"+(index+1)+"位");
}
}
}
这里关键是while(){}循环语句的使用:
while(a[mid]!=target){
int old_mid = mid;
if(a[mid]>target){
top=mid;
}else{
btm=mid;
}
mid=(btm+top)/2;
int new_mid=mid;
if(old_mid==new_mid){
return -1;
}
这里 mid的值 不断的改变 所以a[mid]不断的变化...来促使while(){}的循环和终止... index是一串有序的数值..
分享到:
相关推荐
综上所述,这个Java程序利用了二分搜索法在有序数据中快速定位,同时进行了文字处理,可能是在J2ME环境下运行,适用于有限资源的设备。具体实现可能包括数组操作、字符串分割和显示逻辑。对于开发者来说,理解和掌握...
快速排序和折半查找是两种在计算机科学中广泛使用的算法,尤其在数据处理和搜索操作中扮演着重要角色。在Java编程中,这两种算法都可以通过递归和分治策略进行实现,以提高效率和可读性。下面我们将深入探讨这两个...
在Java中实现数据结构和算法,能够帮助开发者更高效地解决问题,优化程序性能。 数据结构是一种组织和存储数据的方式,它能方便数据的插入、删除和查找操作。常见的数据结构包括数组、链表、栈、队列、哈希表、树...
Java数据结构是计算机科学中的重要概念,它涉及如何在内存中高效地组织和管理数据,以便于快速访问和操作。本资源提供了Java数据结构第四版的课程源代码,旨在帮助学习者深入理解并实践这些概念。以下是根据标题、...
在Java中,我们可以使用各种算法来解决实际问题,例如排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等)、查找算法(顺序查找、二分查找、哈希查找)以及图论中的最短路径算法(Dijkstra算法...
【快速排序】是一种高效的排序算法...快速排序尤其适用于大数据量的排序,而二分查找则适合在已排序的数据中查找特定元素。在这个Java程序中,这两个算法被巧妙地结合在一起,提供了一个完整的银行客户信息管理的示例。
这里涉及的主要算法类型有排序算法(如冒泡排序、快速排序、归并排序、堆排序)、查找算法(如线性搜索、二分查找)、图算法(如深度优先搜索、广度优先搜索)以及动态规划、贪心算法和回溯法等。排序算法用于调整...
本教程将聚焦于Java中两种常见的查找方法:顺序查找法和折半查找法。 **顺序查找法** 顺序查找法是最基础的查找策略,尤其适用于小型数据集或未排序的数据。在Java中,它通过遍历数组或列表的每个元素,逐个与目标...
Java 数据结构与算法是计算机科学中的核心组成部分,对于任何Java开发者来说,理解并熟练运用它们至关重要。本讲义深入浅出地介绍了如何在Java中实现常见的数据结构和算法,为学习者提供了丰富的理论知识和实践指导...
常见的有排序算法(如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序)、查找算法(如顺序查找、二分查找、哈希查找)、图算法(如Dijkstra最短路径、Floyd所有最短路径、Prim最小生成树)、动态规划、...
7. **排序和搜索算法**:包括冒泡排序、快速排序、归并排序、二分查找等。了解这些算法的原理和Java实现,以及它们的时间复杂度分析。 8. **树结构**:如二叉树、平衡树(AVL树、红黑树)、堆(优先队列的实现)。...
在Java编程中,数据结构是理解复杂算法和高效程序设计的基础。本笔记主要涵盖了从第一章到第六章关于数据结构和Java语言的相关知识点。 第一章介绍了数据结构的基本概念,包括面向对象的特性如对象、继承和多态,...
数据结构与算法是计算机科学的基础,对于理解和解决复杂问题至关重要。在Java编程语言中,实现数据结构和算法能帮助我们高效地...在实际开发中,根据具体需求选择合适的数据结构和算法,可以显著提高程序的性能和效率。
书中内容涵盖了面向对象程序设计的基础知识、数据结构与算法的核心理论、以及各类数据结构与算法的Java实现。 在Java与面向对象程序设计部分,书中从基本语言知识开始,包括基本数据类型、运算符、流程控制语句、...
【Java程序设计】单元3——数据与异常处理程序设计,是Java编程学习的重要部分,主要涵盖了数组、字符串处理和异常处理三大核心知识点。 在数组方面,学习者需要掌握如何声明和创建数组,包括一维和二维数组。声明...
数据结构是计算机科学中的核心课程,它探讨了如何有效地...在实际开发中,正确选择和使用数据结构能显著提高程序性能,解决复杂问题。因此,无论你是初学者还是经验丰富的开发者,深入研究数据结构都是一个必要的过程。
《Java程序设计与数据结构(第2版)》是一本深度探讨如何在Java编程中应用数据结构的书籍。数据结构是计算机科学中的核心概念,它关乎如何有效地存储和组织数据,以便于高效地访问和修改。Java作为一种面向对象的语言...