国产成人精品久久免费动漫-国产成人精品天堂-国产成人精品区在线观看-国产成人精品日本-a级毛片无码免费真人-a级毛片毛片免费观看久潮喷

您的位置:首頁技術文章
文章詳情頁

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

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

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

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

因為排序的過程中,各元素不斷接近自己的位置,如果一趟比較下來沒有進行過交換,就說明序列有序。

圖解冒泡排序算法的過程

原始數組: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

小結冒泡排序規則

(1) 一共進行 數組的大小-1 次 大的循環

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

(3) 如果我們發現在某趟排序中,沒有發生一次交換, 可以提前結束冒泡排序。這個就是優化

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趟排序,將最大的數排在最后int temp=0;//臨時變量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)+'趟排序的結果');System.out.println(Arrays.toString(arr));} }}

運行結果:

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

2、選擇排序法

排序思路:

原始的數組 : 101, 34, 119, 1

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

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

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

說明:

1.選擇排序一共有 數組大小 - 1 輪排序

2.每1輪排序,又是一個循環, 循環的規則(代碼)

2.1先假定當前這個數是最小數 2.2 然后和后面的每個數進行比較,如果發現有比當前數更小的數,就重新確定最小數,并得到下標 2.3 當遍歷到數組的最后時,就得到本輪最小數和下標 2.4 交換 [代碼中再繼續說 ]

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;//假定當前下標為最小值下標 int minnumber=arr[j];//假定當前元素為最小值 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));} }}總結

本篇文章就到這里了,希望可以給你帶來一些幫助,也希望您能夠多多關注好吧啦網的更多內容!

標簽: Java
相關文章:
主站蜘蛛池模板: s8国产成人精品视频 | 国产三级香港三韩国三级 | 国产免费影院 | 欧美毛片一级的免费的 | 国产精品9999久久久久 | 久久草在线视频 | 国产视频中文字幕 | 日韩欧美亚洲视频 | 亚洲a人| 国产在线手机视频 | 狠狠色狠狠色综合久久一 | 视频二区 中文字幕 欧美 | 一级高清毛片免费a级高清毛片 | 午夜91理论片 | 欧美日韩一区二区三区视频播 | 怡红院亚洲怡红院首页 | 韩国三级大全久久网站 | 精品女厕沟底拍撒尿 | 在线精品亚洲欧洲第一页 | 欧美国产精品一区二区免费 | 99国产精品免费观看视频 | 曰韩一级毛片 | 亚洲精品精品 | 国产精品免费看久久久久 | 一级做a | 国产啪精品视频网免费 | 色偷偷成人 | 福利社在线视频 | 一级女性全黄生活片免费 | 日韩精品亚洲专区在线观看 | xxxxaaa欧美另类 | 久久久精品久久 | 最新国产三级在线不卡视频 | 二区视频在线 | 盈盈性影院 | 欧美大片国产在线永久播放 | 国产私拍福利精品视频推出 | 欧美一级毛片黄 | 草久网| 神马午夜-午夜片 | 亚洲 欧美 精品专区 极品 |