`

二分排序(java实现)

阅读更多

package com.guxia;

public class Test {
	public static void main(String[] args) {
		int []a={4,2,1,6,3,6,0,-5,1,1};
		int i,j;
		int low,high,mid;
		int temp;
		for(i=1;i<10;i++){
			temp=a[i];
			low=0;
			high=i-1;
			while(low<=high){
				mid=(low+high)/2;
				if(a[mid]>temp)
					high=mid-1;
				else
					low=mid+1;
				
			}
			for(j=i-1;j>high;j--)
				a[j+1]=a[j];
			a[high+1]=temp;
		}
		for(i=0;i<10;i++){
			System.out.printf("%d",a[i]);
		}
	}

}
 
1
1
分享到:
评论
3 楼 wustrive_2008 2011-09-29  
Java-in-my-life 写道
再敢问这个排序能成功吗?

试试就知道了啊!
2 楼 Java-in-my-life 2011-09-29  
再敢问这个排序能成功吗?
1 楼 Java_zhou 2011-09-29  
敢问这是java程序否?

相关推荐

    java实现插入排序

    -二分查找插入:在插入元素时,可以使用二分查找找到合适的位置,减少比较次数,但增加了一些额外的计算。 - 当前元素与其相邻元素交换:在比较过程中,可以直接与相邻元素交换位置,避免不必要的移动。 总结来说...

    java冒泡排序、快速排序、二分查找

    Java 中的排序算法包括冒泡排序、快速排序等,而查找算法则有二分查找等。这些算法都是 Java 开发中非常重要的基础知识。本文将对冒泡排序、快速排序、二分查找进行详细的分析和图解。 冒泡排序 冒泡排序是一种...

    文件读出数组进行选择排序和二分查找(java)

    5. **Test1.java**:这可能是一个实现上述功能的Java源代码文件,包含读取文件、处理数组、选择排序以及二分查找的逻辑。通过查看这个文件的源代码,可以学习到如何在实际项目中应用这些概念。 6. **使用前请看一下...

    java 快速排序 折半查找的界面实现 (递归与分治法)

    接下来是折半查找,也称为二分查找。这是一种在有序数组中查找特定元素的搜索算法。它的工作原理是每次都将查找范围缩小一半,直到找到目标值或范围为空。折半查找的效率很高,因为它减少了搜索次数,尤其对于大数据...

    java选择排序,冒泡排序代码,二分查找

    自己写的java选择排序,冒泡排序代码,二分查找,还有500个小孩手拉手数三退一问题,供初学者参考一下

    java二分查找实现

    Java 二分查找实现 Java 二分查找是搜索有序数组中某个元素的最常用算法之一。它的实现原理是将数组分成两个部分,然后在其中一个部分继续进行搜索,直到找到目标元素或确定目标元素不存在。下面将详细介绍 Java 二...

    Java编程实现中英混合字符串数组按首字母排序的方法

    本文实例讲述了Java编程实现中英混合字符串数组按首字母排序的方法。分享给大家供大家参考,具体如下: 在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[]...

    多种排序查找算法java实现

    这个压缩包文件“多种排序查找算法java实现”显然包含了用Java语言编写的多种经典排序和查找算法的源代码。下面,我们将详细讨论这些算法及其在实际应用中的价值。 首先,我们来看排序算法: 1. **选择排序**:这...

    Java实现排序算法

    二分排序是对插入排序的一种优化,当插入新元素时,使用二分查找确定其正确位置,减少了插入操作的次数,提高了效率。虽然插入排序在处理小规模数据时性能良好,但在大规模数据中,二分插入排序能更快地达到目标。 ...

    Java实现插入排序

    - 可以考虑使用二分查找法来定位待插入元素的位置,以减少比较次数,但这会增加算法的复杂性,使其不再是线性时间复杂度。 - 对于接近有序的数组,插入排序的性能非常优秀,因此在某些排序算法中,例如希尔排序,...

    用JAVA语言实现的对数据的快速排序法

    根据给定文件中的标题、描述、标签...综上所述,通过对给定文件的分析,我们不仅理解了如何使用Java实现快速排序算法,还深入了解了该算法的工作原理、性能特点以及优化方法,这对于理解和掌握快速排序具有重要意义。

    各种排序算法java实现

    二分法插入排序是对普通插入排序的一种改进,通过二分查找确定插入位置,减少了比较次数。在Java中,先将数组的第一个元素视为有序部分,然后对每个未排序元素,用二分查找找到合适位置插入。二分法插入排序在最好...

    java 实现的排序

    本项目是一个完整的Java实现的排序系统,涵盖了冒泡排序、直接插入排序、快速排序、折半插入排序以及选择排序这五种经典的排序算法。下面我们将逐一探讨这些排序方法及其在Java中的实现。 1. **冒泡排序**:冒泡...

    用Java语言实现桶式排序

    ### 使用Java语言实现桶式排序 #### 知识点概览 - **桶排序的基本原理** - **Java中实现桶排序的关键步骤** - **代码详解:如何通过Java编写桶排序程序** #### 桶排序的基本原理 桶排序是一种分布式的排序算法,其...

    java实现常见排序算法

    总结起来,Java实现的插入排序和交换排序为程序员提供了处理各种数据排序问题的工具。了解和掌握这些排序算法不仅有助于提升编程能力,也是解决实际问题的基础,尤其是在大数据处理和性能优化方面。在实际应用中,...

    java 二分查找法的实现方法

    以下是关于Java实现二分查找法的详细解释: 1. **算法原理**: 二分查找法首先将数组或列表分为左、中、右三部分,然后比较中间元素与目标值的关系。如果目标值等于中间元素,则查找成功;若目标值小于中间元素,...

    几种内部排序算法的Java实现

    交换排序是通过交换元素位置来实现排序,包括冒泡排序和快速排序。 (一)冒泡排序 冒泡排序(Bubble Sort)是最简单的交换排序,通过不断地比较相邻元素并交换位置,使得较大的元素逐渐“冒泡”到序列末尾。Java ...

    java中各种排序方法的实现源码

    归并排序则通过将数组不断二分,对每一半进行排序,再合并两个已排序的子数组来实现。快速排序的平均时间复杂度为O(n log n),而归并排序无论在最好还是最坏情况下都为O(n log n)。 由于篇幅限制,这里不再展示这两...

    java排序算法

    2. **折半插入排序**:这是一种优化后的直接插入排序,通过二分查找来减少比较次数,从而提高效率。时间复杂度为O(N^2),但由于减少了比较次数,实际运行速度比直接插入排序快。 3. **希尔排序**:希尔排序是对直接...

    8中排序算法(java实现)

    以下是关于标题"8种排序算法(Java实现)"及其描述中提到的排序算法的详细讲解: 1. **插入排序**: - **直接插入排序**:基本思想是从第二个元素开始,逐个与前面已排序的元素比较,找到合适的位置插入,保持已...

Global site tag (gtag.js) - Google Analytics