亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術(shù)文章
文章詳情頁

java冒泡排序和選擇排序詳解

瀏覽:108日期:2022-08-09 14:11:48
目錄1、冒泡排序2、選擇排序法總結(jié)1、冒泡排序

冒泡排序(Bubble Sorting)的基本思想是:通過對(duì)待

排序序列從前向后(從下標(biāo)較小的元素開始),依次比較相鄰元素的值,若發(fā)現(xiàn)逆序則交換,使值較大的元素逐漸從前移向后部,就象水底下的氣泡一樣逐漸向上冒。

因?yàn)榕判虻倪^程中,各元素不斷接近自己的位置,如果一趟比較下來沒有進(jìn)行過交換,就說明序列有序。

圖解冒泡排序算法的過程

原始數(shù)組:3, 9, -1, 10, 20

第一趟排序

(1) 3, 9, -1, 10, 20 // 如果相鄰的元素逆序就交換

(2) 3, -1, 9, 10, 20

(3) 3, -1, 9, 10, 20

(4) 3, -1, 9, 10, 20

第二趟排序

(1) -1, 3, 9, 10, 20 //交換

(2) -1, 3, 9, 10, 20

(3) -1, 3, 9, 10, 20

第三趟排序

(1) -1, 3, 9, 10, 20

(2) -1, 3, 9, 10, 20

第四趟排序

(1) -1, 3, 9, 10, 20

小結(jié)冒泡排序規(guī)則

(1) 一共進(jìn)行 數(shù)組的大小-1 次 大的循環(huán)

(2)每一趟排序的次數(shù)在逐漸的減少

(3) 如果我們發(fā)現(xiàn)在某趟排序中,沒有發(fā)生一次交換, 可以提前結(jié)束冒泡排序。這個(gè)就是優(yōu)化

import java.util.Arrays;public class BubbleSort {public static void main(String[] args) {// TODO Auto-generated method stubint arr[]= {3,9,-1,10,-2};//第i+1趟排序,將最大的數(shù)排在最后int temp=0;//臨時(shí)變量for(int i=0;i<arr.length-1;i++) {//定義第幾輪排序for(int j=0;j<arr.length-1-i;j++) {if(arr[j+1]<arr[j]) { temp=arr[j];arr[j]=arr[j+1];arr[j+1]=temp;}}System.out.println('輸出第'+(i+1)+'趟排序的結(jié)果');System.out.println(Arrays.toString(arr));} }}

運(yùn)行結(jié)果:

輸出第1趟排序的結(jié)果[3, -1, 9, -2, 10]輸出第2趟排序的結(jié)果[-1, 3, -2, 9, 10]輸出第3趟排序的結(jié)果[-1, -2, 3, 9, 10]輸出第4趟排序的結(jié)果[-2, -1, 3, 9, 10]

2、選擇排序法

排序思路:

原始的數(shù)組 : 101, 34, 119, 1

第一輪排序 : 1, 34, 119, 101

第二輪排序 : 1, 34, 119, 101

第三輪排序 : 1, 34, 101, 119

說明:

1.選擇排序一共有 數(shù)組大小 - 1 輪排序

2.每1輪排序,又是一個(gè)循環(huán), 循環(huán)的規(guī)則(代碼)

2.1先假定當(dāng)前這個(gè)數(shù)是最小數(shù) 2.2 然后和后面的每個(gè)數(shù)進(jìn)行比較,如果發(fā)現(xiàn)有比當(dāng)前數(shù)更小的數(shù),就重新確定最小數(shù),并得到下標(biāo) 2.3 當(dāng)遍歷到數(shù)組的最后時(shí),就得到本輪最小數(shù)和下標(biāo) 2.4 交換 [代碼中再繼續(xù)說 ]

import java.util.Arrays;public class QuickSort { public static void main(String[] args) { //int []arr={ 8,3,2,1,7,4,6,5}; int [] arr={101,34,109,1}; quicksort(arr); } public static void quicksort(int []arr){for(int j=0;j<arr.length-1;j++) { int minindex=j;//假定當(dāng)前下標(biāo)為最小值下標(biāo) int minnumber=arr[j];//假定當(dāng)前元素為最小值 for (int i = 1+j; i < arr.length; i++) {if (arr[i] < minnumber) {//若假定最小值并不是最小的 minnumber = arr[i];//重置minnumber minindex = i;//重置minindex} } //將最小值交換 arr[minindex] = arr[j]; arr[j] = minnumber; System.out.println('第'+(j+1)+'輪'); System.out.println(Arrays.toString(arr));} }}總結(jié)

本篇文章就到這里了,希望可以給你帶來一些幫助,也希望您能夠多多關(guān)注好吧啦網(wǎng)的更多內(nèi)容!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 欧美成人在线影院 | 日韩欧美一区二区三区不卡在线 | 一级特黄录像免费播放中文 | 国产亚洲福利 | 久久午夜国产片 | 国产婷婷色综合成人精品 | 国产精品dvd | 亚洲国产精品毛片∧v卡在线 | 日韩欧美一区二区三区不卡在线 | 欧美日韩国产精品综合 | a国产 | 国产精选在线播放 | 日韩在线观看一区二区不卡视频 | 亚洲日本人成中文字幕 | 在线高清性色生活片免费观看 | 亚洲第一视频在线 | 高清视频欧美性生活 | 欧美日韩性视频在线 | 黄a网站| 亚洲高清日韩精品第一区 | 91短视频黄 | 亚洲瑟瑟 | 99热这里有免费国产精品 | 天天久久 | 精品国产区一区二区三区在线观看 | 国产精品夜色视频一级区 | 亚洲步兵一区二区三区 | 国产日韩欧美综合在线 | 国产女人综合久久精品视 | 1024国产| 成熟热自由日本语亚洲人 | 日本在线黄 | 亚洲免费人成 | 欧美精品一区二区在线观看 | 午夜啪啪网 | 成人一级片在线观看 | 91在线精品麻豆欧美在线 | 午夜国产片| 北岛玲日韩精品一区二区三区 | 久久成人亚洲 | 免费又色又爽的视频国产 |