数组之排序
[编程语言教程]

常用排序算法:

  冒泡排序

  插入排序

  快速排序

  选择排序

排序算法的时间&&空间复杂度

排序算法的稳定性

冒泡排序——bubbleSort

是一种简单的排序算法,重复地走访要排序的数列,一次比较两个元素,如果它们的顺序错误就把他们交换。走访数列的工作是重复的进行直到没有需要交换。

如果两个数关系不正确——交换——重复1、2步——如果走了一遍发现没有产生交换说明排序完成

时间复杂度 O(n^2) 最好O(n)

选择排序——selectSort

将一个值跟数组剩余依次比较,每次得到当前剩余数中最小/大元素放到数组开头

Public class sort{

public static void bubbleSort(int array[]){

  int t = 0;

  for(int i = 0; i < array.length; i++){

    for(int j = 0; j < array.length-1-i; j++){  //因为每遍历一次都会最少排好一个数字

      if(array[j+1] < array[j])

        swap(array[j], array[j+1]);  //两值交换如果不引入新的变量,可以用a=a+b; b = a-b; a = a-b;

    }

  }

}

 

public static void selectSort(int array[]){

  for(int i = 0; i<array.length;i++){

    for(int j = i+1; j<array.length; j++){

      if(array[i] > array[j])  swap(array[i], array[j]);

    }

  }

}

 

public static void main(String[] args){

  int[] array = new int[]{4,7,1,2,9,3,5,8,6};

  bubbleSort(a);

  for(int i = 0; i<array.length; i++){  //输出数组

    System.out.print(array[i] + ” “);

  }

}

}

数组之排序

原文地址:https://www.cnblogs.com/cherry-BAIL/p/13369780.html

hmoban主题是根据ripro二开的主题,极致后台体验,无插件,集成会员系统
自学咖网 » 数组之排序