5个答案 按时间排序 按投票排序
-
采纳的答案
排序算法是数据结构的东西 和语言是没关系的
冒泡: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
-
各种排序算法java实现
http://blog.csdn.net/lschou520/archive/2008/10/29/3176422.aspx
每种方法都有2008年11月05日 10:28
-
vieri122 写道任何排序都可以
同意!
Java类库中的主要的排序算法实现在Arrays.sort()和Collections.sort()方法中,Arrays.sort()对基本类型的排序使用快速排序,对引用类型的排序使用合并排序。Collections.sort()使用合并排序。使用合并排序是为也保证排序的稳定性。
具体代码可以参考我实现的《算法导论》中的算法:http://lifethinker.iteye.com/admin/blogs/2480922008年11月05日 09:50
-
数据结构和算法中有几种java中就有几种。常用的在java.util包里面,比如TreeMap,TreeSet之类的。另外,自定义排序需要实现java.lang.Comparable接口,具体看jdk文档。还有google collections,commons collections也提供了一些排序的集合类,这个就太多了。
2008年11月05日 09:49
相关推荐
### Java 实现几种常见排序方法 #### 泡泡排序(Bubble Sort) 泡泡排序是一种简单的排序算法,它重复地遍历待排序的数列,依次比较相邻的两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复...
根据提供的文件信息,本文将详细介绍如何使用Java语言来实现几种常见的排序算法,包括插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)以及希尔排序(Shell Sort)。这些排序算法在...
根据给定的信息,本文将详细介绍Java中的四种基本排序算法:冒泡排序、插入排序、快速排序和选择排序。 ### 一、冒泡排序 #### 1. 原理介绍 冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两...
此外,还有`swap`方法用于交换数组中的元素,以及几种不同的冒泡排序实现方法。 通过这些代码示例,读者可以更直观地理解各种排序算法的具体实现细节及其性能特点。 总结来说,本文介绍了多种排序算法并通过Java...
- 在`OrderTest`类中,还提到了其他几种排序算法的实现,如冒泡排序、双路冒泡排序、插入排序、快速排序和选择排序。这些排序算法各有特点,适用于不同的场景。 - 冒泡排序是一种简单的排序,通过不断交换相邻的...
此外,代码中还展示了其他几种排序方法的实现,包括冒泡排序、双路冒泡排序、插入排序、快速排序和选择排序。这些排序算法各有特点: - 冒泡排序:通过不断交换相邻的逆序元素,逐步将最大(或最小)元素移到数组...
根据提供的文件信息,我们可以总结出该文档主要涉及了五种基于Java实现的排序算法:插入排序(Insert Sort)、冒泡排序(Bubble Sort)、选择排序(Selection Sort)、希尔排序(Shell Sort)以及快速排序(Quick ...
并用java实现。代码拿去即可用,不需做任何修改! 部分内容: /** * 快排:O(n*logn);如果是从小到大排序; * 思想:选一个关键数据,将数组分成以关键数据分割的独立两个子数组;比关键数据小的在左边,大的在...
本文将详细探讨标题所提及的几种排序算法:合并排序、插入排序、希尔排序、快速排序、冒泡排序以及桶排序,并结合Java语言的实现进行解析。 1. **合并排序(Merge Sort)**: 合并排序是一种基于分治策略的排序算法...
根据提供的文件信息,我们可以归纳总结出以下几个主要的排序算法及其JAVA代码实现: ### 1. 插入排序(Insert Sort) 插入排序是一种简单的排序方法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序...
本文将深入探讨几种常见的排序算法,并提供相应的源码实现。这些算法包括插入排序、选择排序、希尔排序、冒泡排序以及最佳排序(通常指的是快速排序或归并排序)。让我们逐一解析它们的工作原理和Java代码实现。 1....
根据给定文件中的标题“Java排序代码大全”以及描述与标签中的关键词如“Java排序”、“排序大全”和“算法”,本文将详细解读文件中所包含的几种排序算法的实现方式,并结合具体代码进行深入分析。 ### 快速排序...
首先,我们来看看几种基础的排序算法,然后讨论如何通过优化来提高这些算法的性能。 1. **冒泡排序**(Bubble Sort): 冒泡排序是最基础的排序算法之一,它通过重复遍历待排序的数组,比较相邻元素并交换位置来...
本文将详细探讨Java中实现几种常见的排序算法,包括它们的工作原理、时间复杂度以及如何在实际代码中应用。 一、冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个...
了解和掌握这些排序算法的原理和实现方式,不仅有助于编写高效的排序代码,还能帮助我们在面对实际问题时选择最合适的解决方案。在学习过程中,可以结合实际例子,通过编写代码来加深理解,同时通过分析时间复杂度和...
在给定的文档中,介绍了多种常见的排序算法,包括冒泡排序、快速排序、选择排序、插入排序等,并提供了相应的Java代码实现。 冒泡排序(Bubble Sort)是一种简单的比较排序算法,其基本思想是通过重复遍历待排序...
本文将详细讨论两种常见的简单排序算法:冒泡排序和直接插入排序,它们都是基于比较的内部排序算法,并且在Java语言中实现。 **冒泡排序(Bubble Sort)** 冒泡排序是一种基础的排序算法,其基本思想是通过重复...