0 0

请问用java有几种实现数据排序的方法?(请附实现代码)10

java的排序一共有多少钟?实现的详细代码是什么?
2008年11月05日 09:32

5个答案 按时间排序 按投票排序

0 0

采纳的答案

排序算法是数据结构的东西 和语言是没关系的
冒泡:

public class BubbleSort {
	public static void bubbleSort(int[] array) {
		int length = array.length - 1;
		for (int out = length; out > 0; out--) {
			for (int in = 0; in < out; in++) {
				if (array[in] > array[in + 1]) {
					int s = array[in];
					array[in] = array[in + 1];
					array[in + 1] = s;
				}
			}
		}
	}

}

插入:
public class InsertSort {
	public static void sort(int[]array){
		int length=array.length;
		for(int out=1;out<length;out++){
			int temp=array[out];
			int in=out;
			while(in>0&&array[in-1]>temp){
				array[in]=array[in-1];
				--in;
			}
			array[in]=temp;
		}
	}
}

选择:
public class SelectSort {
	public static void sort(int[]array){
		for(int out=0;out<array.length-1;out++){
			int min=out;
			for(int in=out+1;in<array.length;in++){
				if(array[in]<array[min]){
					min=in;
				}
			}
			int t =array[out];
			array[out]=array[min];
			array[min]=t;
		}
	}
}

希尔:
public class SheelSort {
	private int[] hs;

	private int[] a;
	
	public void sort(){
		for(int h:hs){
			for(int i=h;i<a.length;i++){
				int in=i;
				int inValue=a[i];
				while(in-h>-1&&a[in-h]>inValue){
					a[in]=a[in-h];
					in=in-h;
				}
				a[in]=inValue;
			}
		}
	}
	

	public int[] getHs() {
		return hs;
	}

	public void setHs(int[] hs) {
		this.hs = hs;
	}

	public int[] getA() {
		return a;
	}

	public void setA(int[] a) {
		this.a = a;
	}
}


快速:
public class SpeedSort {
	private int[] a;

	public void sort() {
		int begin = 0;
		int end = a.length - 1;
		quickSort(begin, end);
		for (int i : a) {
			System.out.print(i + " ");
		}
	}

	private void quickSort(int begin, int end) {
		if (begin >= end) {
				
		} else {
			int pivot = a[end];
			int result = getPivot(begin, end, pivot);
			quickSort(begin, result - 1);
			quickSort(result + 1, end);
		}

	}

	private int getPivot(int begin, int end, int pivot) {
		begin = begin - 1;
		int o = end;
		while (true) {
			while (a[++begin] < pivot) {

			}
			while (end > 0 && a[--end] > pivot) {

			}
			if (begin >= end) {
				break;
			} else {
				swap(begin, end);
			}
		}
		swap(begin, o);
		return begin;
	}

	private void swap(int begin, int end) {
		int t = a[begin];
		a[begin] = a[end];
		a[end] = t;
	}

	public int[] getA() {
		return a;
	}

	public void setA(int[] a) {
		this.a = a;
	}

自己写的 凑合看吧

2008年11月05日 09:54
0 0

各种排序算法java实现
http://blog.csdn.net/lschou520/archive/2008/10/29/3176422.aspx

每种方法都有

2008年11月05日 10:28
0 0

vieri122 写道
任何排序都可以

同意!

Java类库中的主要的排序算法实现在Arrays.sort()和Collections.sort()方法中,Arrays.sort()对基本类型的排序使用快速排序,对引用类型的排序使用合并排序。Collections.sort()使用合并排序。使用合并排序是为也保证排序的稳定性。

具体代码可以参考我实现的《算法导论》中的算法:http://lifethinker.iteye.com/admin/blogs/248092

2008年11月05日 09:50
0 0

数据结构和算法中有几种java中就有几种。常用的在java.util包里面,比如TreeMap,TreeSet之类的。另外,自定义排序需要实现java.lang.Comparable接口,具体看jdk文档。还有google collections,commons collections也提供了一些排序的集合类,这个就太多了。

2008年11月05日 09:49
0 0

任何排序都可以

2008年11月05日 09:37

相关推荐

    Java实现几种常见排序方法

    ### Java 实现几种常见排序方法 #### 泡泡排序(Bubble Sort) 泡泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复...

    用Java实现几种常见的排序算法

    根据提供的文件信息,本文将详细介绍如何使用Java语言来实现几种常见的排序算法,包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。这些排序算法在...

    Java几种排序方法

    根据给定的信息,本文将详细介绍Java中的四种基本排序算法:冒泡排序、插入排序、快速排序和选择排序。 ### 一、冒泡排序 #### 1. 原理介绍 冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两...

    排序算法全集锦(java代码实现)

    此外,还有`swap`方法用于交换数组中的元素,以及几种不同的冒泡排序实现方法。 通过这些代码示例,读者可以更直观地理解各种排序算法的具体实现细节及其性能特点。 总结来说,本文介绍了多种排序算法并通过Java...

    java堆排序和几种排序方法实现代码文.pdf

    - 在`OrderTest`类中,还提到了其他几种排序算法的实现,如冒泡排序、双路冒泡排序、插入排序、快速排序和选择排序。这些排序算法各有特点,适用于不同的场景。 - 冒泡排序是一种简单的排序,通过不断交换相邻的...

    java堆排序和几种排序方法实现代码.pdf

    此外,代码中还展示了其他几种排序方法的实现,包括冒泡排序、双路冒泡排序、插入排序、快速排序和选择排序。这些排序算法各有特点: - 冒泡排序:通过不断交换相邻的逆序元素,逐步将最大(或最小)元素移到数组...

    用Java实现几种常见的排序算法.txt

    根据提供的文件信息,我们可以总结出该文档主要涉及了五种基于Java实现的排序算法:插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)、希尔排序(Shell Sort)以及快速排序(Quick ...

    几种经典的排序算法java实现

    并用java实现。代码拿去即可用,不需做任何修改! 部分内容: /** * 快排:O(n*logn);如果是从小到大排序; * 思想:选一个关键数据,将数组分成以关键数据分割的独立两个子数组;比关键数据小的在左边,大的在...

    各种排序算法比较(java实现)

    本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合Java语言的实现进行解析。 1. **合并排序(Merge Sort)**: 合并排序是一种基于分治策略的排序算法...

    各种排序算法 JAVA代码实现

    根据提供的文件信息,我们可以归纳总结出以下几个主要的排序算法及其JAVA代码实现: ### 1. 插入排序(Insert Sort) 插入排序是一种简单的排序方法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序...

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

    本文将深入探讨几种常见的排序算法,并提供相应的源码实现。这些算法包括插入排序、选择排序、希尔排序、冒泡排序以及最佳排序(通常指的是快速排序或归并排序)。让我们逐一解析它们的工作原理和Java代码实现。 1....

    java排序代码大全

    根据给定文件中的标题“Java排序代码大全”以及描述与标签中的关键词如“Java排序”、“排序大全”和“算法”,本文将详细解读文件中所包含的几种排序算法的实现方式,并结合具体代码进行深入分析。 ### 快速排序...

    JAVA各种排序方法及改良

    首先,我们来看看几种基础的排序算法,然后讨论如何通过优化来提高这些算法的性能。 1. **冒泡排序**(Bubble Sort): 冒泡排序是最基础的排序算法之一,它通过重复遍历待排序的数组,比较相邻元素并交换位置来...

    Java实现几种常见的排序算法

    本文将详细探讨Java中实现几种常见的排序算法,包括它们的工作原理、时间复杂度以及如何在实际代码中应用。 一、冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个...

    Java各种排序算法代码

    了解和掌握这些排序算法的原理和实现方式,不仅有助于编写高效的排序代码,还能帮助我们在面对实际问题时选择最合适的解决方案。在学习过程中,可以结合实际例子,通过编写代码来加深理解,同时通过分析时间复杂度和...

    Java实现几种常见排序方法-直插、冒泡、选择、快排、堆排等

    在给定的文档中,介绍了多种常见的排序算法,包括冒泡排序、快速排序、选择排序、插入排序等,并提供了相应的Java代码实现。 冒泡排序(Bubble Sort)是一种简单的比较排序算法,其基本思想是通过重复遍历待排序...

    冒泡排序、直接插入排序 等java代码

    本文将详细讨论两种常见的简单排序算法:冒泡排序和直接插入排序,它们都是基于比较的内部排序算法,并且在Java语言中实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种基础的排序算法,其基本思想是通过重复...

Global site tag (gtag.js) - Google Analytics