蒙自做网站的公司/实时热搜榜
1冒泡排序 1原理 2代码 3复杂度 2选择排序 1原理 2代码 3复杂度 3插入排序 1原理 2代码 3复杂度 4三个排序算法的小结与比较 1、冒泡排序 1)原理 a、比较相邻两个元素 b、如果满足交换要求(视排序规定而定,本文均按照从左到右、从小到大排序),则交换位置
[/align][align=center] [/b][i][/i] [b]java最具代表性的排序算法就是冒泡和选择排序 | | | |public class Sort { | | | | static int[] arr = {25,46,15,49,34,55,11,97}; | | | | | |/**_冒泡排序_________________________________________________________**/ | | | | //冒泡排序:就是相邻的两个相比较,(如果是从小到大排序)前一个比后一个大那就置换位置; | | | | public static void bubbleSort(){ | | | | for(int i = 0 ; iarr[j+1]){ //此处可以说明外循环为arr.length-1次:因为比较的是j和j+1, 而第一次循环j是小于arr.length-1的 | | | | int temp = arr[j]; | | arr[j] = arr[j+1]; | | arr[j+1] = temp; | | } | | } | |交换排序中最常用的就是冒泡排序和快速排序,回顾了一些冒泡排序,估计写完这些博客对排序算法算是有了很深的了解了,最后要做一个小总结了,将这些算法的时间复杂度和空间复杂度做一个对比,以后再排序的时候能够对着有比较充分的认识。 1.冒泡排序
public } | | | | } | |/**_选择排序_________________________________________________________**/ | | | | //选择排序:就是从第一个数与后面的所有数相比较,(如果是从小到大排序)前一个比后面任何一个大那就置换位置; | | public static void selectionSort(){ | | | | for(int i = 0 ; iarr[j]){ | | int temp = arr[i]; | | arr[i] = arr[j]; | | arr[j] = temp; | | } | | } | | } | | } | | | | public static void main(String[] args) { | | bubbleSort(); | | selectionSort(); | | for(int a = 0 ; a < arr.length ; a++ ){ | | System.out.println(arr[a]); | | } | | } | |} | | | |//总结:个人觉得选择排序比冒泡排序要好,因为冒泡排序要置换的次数要多,二选择是一次就可以到位。|