java排序算法汇总

java排序算法汇总

ID:5637124

大小:89.29 KB

页数:18页

时间:2017-12-20

java排序算法汇总_第1页
java排序算法汇总_第2页
java排序算法汇总_第3页
java排序算法汇总_第4页
java排序算法汇总_第5页
资源描述:

《java排序算法汇总》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、package com.softeem.jbs.lesson4;    import java.util.Random;    /**   * 排序测试类   *    * 排序算法的分类如下:   * 1.插入排序(直接插入排序、折半插入排序、希尔排序);   * 2.交换排序(冒泡泡排序、快速排序);   * 3.选择排序(直接选择排序、堆排序);   * 4.归并排序;   * 5.基数排序。   *    * 关于排序方法的选择:   * (1)若n较小(如n≤50),可采用直接插入或直接选择排序。   *  当记录规模较小时,直接插入排序较好;否则因为直

2、接选择移动的记录数少于直接插人,应选直接选择排序为宜。   * (2)若文件初始状态基本有序(指正序),则应选用直接插人、冒泡或随机的快速排序为宜;   * (3)若n较大,则应采用时间复杂度为O(nlgn)的排序方法:快速排序、堆排序或归并排序。   *    */    public class SortTest {                /**          * 初始化测试数组的方法          * @return 一个初始化好的数组          */           public int[] createArray() {   

3、               Random random = new Random();                  int[] array = new int[10];                  for (int i = 0; i < 10; i++) {                         array[i] = random.nextInt(100) - random.nextInt(100);//生成两个随机数相减,保证生成的数中有负数                  }                  System.out.p

4、rintln("==========原始序列==========");                  printArray(array);                  return array;           }                /**          * 打印数组中的元素到控制台          * @param source          */           public void printArray(int[] data) {                  for (int i : data) {      

5、                   System.out.print(i + " ");                  }                  System.out.println();           }                /**          * 交换数组中指定的两元素的位置          * @param data          * @param x          * @param y          */           private void swap(int[] data, int x, in

6、t y) {                  int temp = data[x];                  data[x] = data[y];                  data[y] = temp;           }                /**          * 冒泡排序----交换排序的一种          * 方法:相邻两元素进行比较,如有需要则进行交换,每完成一次循环就将最大元素排在最后(如从小到大排序),下一次循环是将其他的数进行类似操作。           * 性能:比较次数O(n^2),n^2/2;交换

7、次数O(n^2),n^2/4          *           * @param data 要排序的数组          * @param sortType 排序类型          * @return          */           public void bubbleSort(int[] data, String sortType) {                  if (sortType.equals("asc")) { //正排序,从小排到大                         //比较的轮数           

8、     

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。