java实现数组排序

原创 2018年04月16日 22:26:25

用java实现冒泡,插入,选择等排序

冒泡排序(优化)

1.思想

从零号下标开始遍历,相邻的两个数相互比较,将最大的数沉底。

这里写图片描述

2.代码

public static void bubbleSort(int[] a) {
        int tmp = 0 ;
        for(int i=0;i<a.length-1;i++) {
            boolean s=false;//设置标记
            for(int j=0;j<a.length-1-i;j++) {
                if(a[j]>a[j+1]) {
                    tmp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=tmp;
                    s=true;
                }
            }
            if(!s) {
                break;
            }
        }
    }

3.稳定性

稳定

4.时间复杂度

O(n^2)

选择排序

1.思想

假设零号位为最小值,然后拿零号位与后面的数依次比较,如果大于则交换。将数组遍历一遍以后,第一个值即为最小值。然后再将一号位设为最小值与后面比较。

2.代码

public static void selectSort(int[] array){
    int tmp = 0;
    int min = 0;
    for(int i = 0;i < array.length;i++){
        min = i;
        for(int j = i+1;j < array.length;j++){
            if(array[min] > array[j]){
                tmp = array[min];
                array[min] = array[j];
                array[j] = tmp;
            }
        }
    }
}

3.稳定性

不稳定

4.时间复杂度

O(n^2)

插入排序

1.思想

以零号位开始为一个有序数组,依次加入数组下一位数,加入的这位数从前往后与前面的数比较,使它成为有序数组。如a[0]本身有序;加入下一位啊a[1],对a[0:1]进行排序,假如a[1]<a[0]则交换,交换后a[0:1]有序;加入下一位a[2],将a[0:2]有序,依次加入到数组最后一位,排序后数组有序。

2.代码

public static void insertSort(int[] array){
    int tmp = 0;
    int j;
    for(int i = 1;i < array.length;i++){
        tmp = array[i];
        for(j = i-1;j j>=0;;j--){
            if(array[j] > tmp){
                array[j+1] = array[j];
            }else{
                break;
            }
        }
        array[j+1] = tmp;
    }

}

3.稳定性

稳定

4.时间复杂度

O(n^2)

JAVA语言实现随机数的输入以及数组的排序

  • 2010年04月10日 22:39
  • 792B
  • 下载

VC多线程实现数组排序

  • 2009年06月11日 12:38
  • 1.8MB
  • 下载

Java代码实现二维数组的排序

Java代码实现二维数组的排序,先对数组的全局数据进行从小到大的排序,然后对奇数行的数据进行反转,及按照从大到小的顺序再排序。 代码如下:public class MatrixSort { publ...
  • zhengufeng123
  • zhengufeng123
  • 2016-10-21 09:27:37
  • 545

JAVA 中数组的几种排序方法

1、数组的冒泡排序public void bubbleSort(int a[]) { int n = a.length; for (int i = 0; i < n - 1; i++)...
  • fengyifei11228
  • fengyifei11228
  • 2008-07-08 11:21:00
  • 56844

使用Java Arrays类进行数组排序

Java Arrays类进行数组排序 static void sort(int[] a) public static void sort(T[] a,Comparator c)...
  • u013905744
  • u013905744
  • 2016-08-19 09:21:14
  • 420

Java实现字符串数组和字符串排序

在Java环境下,对字符串数组或者对字符串排序都是一件很容易的
  • xiaobangsky
  • xiaobangsky
  • 2014-10-13 14:51:07
  • 2977

JAVA中数组排序函数

Java中有一个类叫Arrays,其有一个方法是sort(int[] a) ,默认的是对指定的 int 型数组按数字进行升序排序。 例如: 数组 int[] intArray = new int[]...
  • baidu_34372014
  • baidu_34372014
  • 2016-11-28 21:29:57
  • 7143

java 对象数组的排序(实现Comparable接口)和二分查找

package practice;import java.util.Arrays; import java.util.Comparator;/** * Created by fangjiejie o...
  • StubbornAccepted
  • StubbornAccepted
  • 2016-12-04 20:11:46
  • 1270

java用冒泡发实现数组排序

java用冒泡发实现数组排序
  • crazy_rose
  • crazy_rose
  • 2015-04-08 21:08:23
  • 371

java一维数组排序及算法

package com.axesline.sun; import java.util.Random; public class getMaxMin_Number {      public st...
  • suenpeng
  • suenpeng
  • 2016-08-02 09:30:05
  • 646
收藏助手
不良信息举报
您举报文章:java实现数组排序
举报原因:
原因补充:

(最多只允许输入30个字)