`
xiaobian
  • 浏览: 588525 次
  • 来自: 北京
社区版块
存档分类
最新评论

Java常用排序算法

阅读更多
package com.xiaobian;

public class BubbleSort {
	//冒泡排序
	public static void bubbleSort(int[] data){
		for(int i=0;i<data.length;i++){
			for(int j=data.length-1;j>i;j--){
				if(data[j]<data[j-1])
					swap(data,j,j-1);
			}
		}
	}
	//直接插入排序
	public static void insertSort(int[] data){
	        for(int i=1;i<=data.length-1;i++){
	            for(int j=i;(j>0)&&(data[j]<data[j-1]);j--){
	                swap(data,j,j-1);
	            }
	        }        
	}
	//直接选择排序
	public static void selectionSort(int[] data){
	      for (int i = 0; i < data.length; i++) {
	            int lowIndex = i;
	            for (int j = data.length - 1; j > i; j--) {
	                if (data[j] < data[lowIndex]) {
	                    lowIndex = j;
	                }
	            }
	            swap(data,i,lowIndex);
	            }
	}
	public static void swap(int[] array,int i,int j){
		int temp = array[i];
		array[i] = array[j];
		array[j] = temp;
	}
	public static void main(String[] args) {
		int[] a = {1,6,3,9,2,12,56,13,111};
		BubbleSort.selectionSort(a);
		for(int i=0;i<a.length;i++){
			System.out.println(" "+a[i]);
		}
	}

}

分享到:
评论

相关推荐

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找

    本资料包聚焦于"Java常用排序算法"和"程序员必须掌握的8大排序算法",并深入探讨了"二分法查找"这一高效搜索技术。 首先,我们来看八大排序算法。这些算法包括: 1. **冒泡排序**:最简单的排序方法,通过不断交换...

    Java常用排序算法源码

    以下是对Java中几种常见排序算法的详细解析: 1. 冒泡排序: 冒泡排序是一种简单直观的排序算法,通过不断交换相邻的不正确顺序元素来达到排序的目的。它的时间复杂度为O(n^2),在处理大量数据时效率较低。尽管效率...

    详解Java常用排序算法-归并排序

    Java常用排序算法-归并排序 归并排序是一种分治思想的排序算法,其基本思想是将待排序的数组分成若干个子序列,每个子序列都是有序的,然后再将子序列合并成一个有序的数组。这种算法的时间复杂度为O(n log n),...

    详解Java常用排序算法-选择排序

    详解Java常用排序算法-选择排序 选择排序(Selection Sort)是一种简单的排序算法,它的基本思想是每次从待排序的元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的元素排完。 选择...

    Java常用排序算法程序员必须掌握的8大排序算法

    冒泡排序--Java常用排序算法程序员必须掌握的8大排序算法

    Java常用排序算法程序员必须掌握的8大排序算法Java开

    本文将深入探讨Java中的八大常用排序算法,这些算法对于提升程序效率、优化数据处理具有重要意义。这8大排序算法包括:冒泡排序、插入排序、选择排序、快速排序、归并排序、堆排序、希尔排序以及桶排序。 1. **冒泡...

    java 常用排序算法

    总结来说,Java中常用的排序算法如Shell排序和快速排序各有特点,Shell排序适用于处理大型数据,而快速排序通常在平均情况下具有较高的效率。在实际应用中,根据数据特性选择合适的排序算法至关重要,以实现最佳性能...

    常用排序算法java演示

    本文将深入探讨标题"常用排序算法java演示"中涉及的知识点,包括排序算法的原理、Java实现方式以及其在实际应用中的图形演示。 首先,让我们逐一了解几种常见的排序算法: 1. **冒泡排序(Bubble Sort)**:这是一...

    详解Java常用排序算法-插入排序

    在 Java 中,插入排序算法可以通过以下代码实现: ```java public class Insertion { public static void insertionSort(int[] arr) { int n = arr.length; for (int i = 1; i ; i++) { int key = arr[i]; int ...

    详解Java常用排序算法-快速排序

    在 Java 中,快速排序算法可以使用递归函数来实现。例如,下面的代码就是一个使用快速排序算法对整数数组进行排序的示例: ```java public class Quick { public static void quickSort(int[] arr, int low, int ...

    详解Java常用排序算法-基数排序

    Java 基数排序算法详解 基数排序(Radix Sort)是一种非比较排序算法,它的基本思想是将待排序的数组按照位数(个位、十位、百位)进行划分,然后依次对每个位上的数字进行排序,最终得到有序的数组。基数排序的...

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找(同步到博客).doc

    【Java 常用排序算法】排序是编程中常见的任务之一,主要分为四类:插入排序、交换排序、选择排序和归并排序。此外,还有分配排序中的基数排序。以下是对这些排序算法的详细说明: 1. **直接插入排序**: 直接插入...

    详解Java常用排序算法-希尔排序

    在上面的代码中,shellSort 函数接受一个整数数组作为输入,并使用希尔排序算法对其进行排序。外部循环使用一个间隔变量 gap,初始值为数组长度的一半,每次循环将 gap 除以 2,直到 gap 为 1。内部循环从第 gap 个...

    详解Java常用排序算法-桶排序

    Java 排序算法 - 桶排序详解 桶排序(Bucket Sort)是一种非比较排序算法,其基本思想是将待排序的数组分到有限数量的桶里,然后对每个桶进行排序,最后依次将所有桶中的元素取出来,组成有序的数组。桶排序的时间...

    详解Java常用排序算法-冒泡排序

    Java排序算法之冒泡排序详解 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。这个过程持续对数列的末尾进行,直到整个数列都排序完成...

    详解Java常用排序算法-堆排序

    在上面的代码中,我们使用 Java 语言实现了堆排序算法。其中,Heap 类中包括两个函数:heapSort 和 heapify。heapSort 函数接受一个整数数组作为输入,并使用堆排序算法对该数组进行排序。heapify 函数用于对一个...

Global site tag (gtag.js) - Google Analytics