java数组排序之冒泡排序】的更多相关文章

上一篇文章说了,选择排序. 选择排序的原理就是,先确定第一个格子当中的数字是最小的,之后确定第二个格子是其他数字中最小的依次类推. 这一节当中我们来看下冒泡排序: 思路: 1.首先拿第一个数字跟第二个比,如果第二个数字大于第一个数字,那么保持各自位置,否则交换位置,让数字更小的那一个在前面,数字较大的在后面.第一个跟第二个比较完之后,紧接着第二个跟第三个进行比较,比较的原则也是根据第一次比较的原则,这样比较下去一直到数组的结尾,我们得到的是这个数组中的最大值,并且这个最大值在数组的结尾处.也就是…
java算法系列之排序 手写冒泡 冒泡算是最基础的一个排序算法,简单的可以理解为,每一趟都拿i与i+1进行比较,两个for循环,时间复杂度为 O(n^2),同时本例与选择排序进行了比较,选择排序又叫直接排序,之所以直接,就是简单粗暴,不像冒泡,冒泡是紧挨着的两个小伙伴两两比较,直接排序是每一趟直接拿当前i与整个数组中所有元素进行比较,如果大小不一致,直接替换,相当于跳跃过去了,根本不考虑小伙伴的感受,我看到哪个小伙伴比我小,我就占领它的位置,彼此替换. package com.rsc.sort;…
Java数组排序Arrays.sort,以及Comparator接口的用法 有的时候需要对数组里的element进行排序.当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sort排序方法,在 数组元素比较少的时候为何不用? Sorting an Array 1. 数字排序  int[] intArray = new int[] { 4, 1, 3, -23 }; Arrays.sort(intArray); 输出: [-23, 1, 3, 4] 2. 字符串排序,先大写后…
由此可见:N个数字要排序完成,总共进行N-1趟排序,每第 i 趟的排序次数为 (N-i) 次,所以 可以用双重循环语句,外层控制循环多少趟,内层控制每一趟的循环次数,即   for(inti=0;i<arr.length-1;i++){         for(intj=0;j<arr.length-1-i;j++){         } } 冒泡排序法 口诀: 外层循环 0到n-1 //控制比较轮数 n 表示元素的个数 内层循环 0到n-i-1 //控制每一轮比较次数 两两比较做交换   冒…
Java中的冒泡排序排序的第一种思想:将第一个值与后面的值相比较,如果第一个值比其他值小,那么将较大的值与第一个换位置,然后继续比较直至所有的数比较完成.这样就可以保证第一个数是最大数.然后将第二个数再重复进行一遍此操作,不同的是第二个数进行操作时不用与第一个相比,因为已经确定过第一个是最大值. 排序的第二种思想:将两个相邻的数比较(第一个值和第二个值:第二个值和第三个值:第三个值和第四个值……),如果第一个值比第二个值小,那么将这两个值换一个位置,然后后面依次进行此操作,这样可以保证最小值在最…
Java 排序算法-冒泡排序及其优化 什么是冒泡排序 基本写法 优化后写法 终极版本 源码及测试 什么是冒泡排序 这里引用一下百度百科上的定义: 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法. 它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小.首字母从Z到A)错误就把他们交换过来.走访元素的工作是重复地进行直到没有相邻元素需要交换,也就是说该元素列已经排序完成. 这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端(…
//数组中排序    int in[] = {1,6,5,8,9};    Arrays.sort(in);    for(int i=0;i<in.length;i++){       System.out.println(in[i]);   }    //数组中取最大值,最小值    int arr[] = {6,3,8,5,7,4,1};          int min2 = arr[0];          int temp = 0;          for(int i=1;i<a…
1 选择排序  原理:a 将数组中的每个元素,与第一个元素比较          如果这个元素小于第一个元素, 就将这个         两个元素交换.       b 每轮使用a的规则, 可以选择出一个最小元素        放到第一个位置.       c 经过n-1轮比较完成排序   简单说: 每轮选择最小的放到前面.        2 冒泡排序  原理: a 逐一比较数组中相邻的两个元素, 如果后面         的数字小于前面的数字, 就交换先后元素.       b 经过一个轮次的…
import java.util.Scanner; public class OrderBy { public static void main(String[] args) { // Scanner scan = new Scanner(System.in); // System.out.println("1到n的和,请输入n···"); // int i = scan.nextInt(); System.out.println(fun(100));//递归 int[] aArray…
1.冒泡排序 package lsg.ap.bubble; import java.util.*; public class BubbleSort { public static void bubbleSort(int[] array) { int temp; // 第一层循环: 表明要比较的次数,即需要比较多少轮 //第二层循环:每个元素依次与每轮的第一个元素(i指示的元素,i会每轮 //递增1,要注意这点)进行比较,每一轮都把最大的元素冒泡到顶部 for(int i=0;i<array.le…