网站建设与管理需要哪些证书,模块网站怎么做,做卖车的网站有哪些,安卓app大全下载一、冒泡排序
1.冒泡排序的基本原理
对存放原始数组的数据#xff0c;按照从前往后的方向进行多次扫描#xff0c;每次扫描都称为一趟。当发现相邻两个数据的大小次序不符合时#xff0c;即将这两个数据进行互换#xff0c;如果从小大小排序#xff0c;这时较小的数据就…一、冒泡排序
1.冒泡排序的基本原理
对存放原始数组的数据按照从前往后的方向进行多次扫描每次扫描都称为一趟。当发现相邻两个数据的大小次序不符合时即将这两个数据进行互换如果从小大小排序这时较小的数据就会逐个往前移动好像气泡网上漂浮一样。 下面来看一组动态图
2. 冒泡排序的特点
升序排序当中每一轮比较会把最大的数沉到最底(这里以从小到大为例)所有相互比较的次数每一轮会比前一轮少一次。
3.代码
public class BubbleSort {static int[] arr new int[] {8,65,41,28,6,1,4,5,32,9,10};public static void main(String[] args) {// TODO Auto-generated method stubfor (int i 0; i arr.length; i) {for (int j 0; j arr.length -i -1; j) {if(arr[j]arr[j1]) {int temp arr[j];arr[j] arr[j1];arr[j1] temp;}}System.out.println(Arrays.toString(arr));}}}代码解析:该算法代码由外层循环和内层循环组成内层循环包括比较大小语句和互换位置语句 外层循环主要是控制代码的执行次数内层循环主要是进行比较和位置交换 外层循环每次循环都是将最最大的数放到最后边所以内层循环每次都需要减 -1 一、简单选择排序
1. 基本操作
它的基本思想是第一次从arr[0到]arr[n-1]中选取最小值与arr[0]交换第二次从arr[1]到arr[n-1]中选取最小值与arr[1]交换第三次从arr[2]到arr[n-1]中选取最小值与arr[2]交换…第i次从arr[i-1]arr[n-1]中选取最小值与arr[i-1]交换…, 第n-1次从arr[n-2]~arr[n-1]中选取最小值与arr[n-2]交换总共通过n-1次得到一个按排序码从小到大排列的有序序列。
2.动态图 3.代码
public class Insert {public static void main(String[] args) {int[] arr {8,65,41,28,6,1,4,5,32,9,10};System.out.println(排序前);System.out.println(Arrays.toString(arr));selectSort(arr);}public static void selectSort(int[] arr) {for (int i 0; i arr.length - 1; i) {//寻找最小值将当前的作为最小值来看待int minIndex i;int min arr[i];for (int j i 1; j arr.length; j) {// 当前值的下一个值和当前值判断大小如果先一个值小那么就进行交换 // 当然要记录一下当前值的 下标 目的是为了当前值和第一个值进行交换if (min arr[j]) {min arr[j];minIndex j;}}//进行交换arr[minIndex] arr[i];arr[i] min;System.out.println(第 (i 1) 轮后);System.out.println(Arrays.toString(arr));}}
}