91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java實現冒泡排序和選擇排序的代碼怎么寫

發布時間:2022-05-23 11:37:08 來源:億速云 閱讀:132 作者:zzz 欄目:大數據

這篇文章主要介紹“java實現冒泡排序和選擇排序的代碼怎么寫”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“java實現冒泡排序和選擇排序的代碼怎么寫”文章能幫助大家解決問題。

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 stub
        int 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實現冒泡排序和選擇排序的代碼怎么寫”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

黑河市| 容城县| 济源市| 庆城县| 吴江市| 延寿县| 裕民县| 东乡族自治县| 元阳县| 宜昌市| 石家庄市| 凤翔县| 密山市| 三台县| 连山| 桐庐县| 宁远县| 广河县| 佳木斯市| 玉环县| 许昌市| 吉木萨尔县| 永新县| 安塞县| 甘谷县| 梨树县| 依兰县| 杨浦区| 孝义市| 石柱| 镇安县| 双桥区| 孟津县| 鹿泉市| 临泽县| 宿松县| 安塞县| 如皋市| 琼海市| 乐陵市| 陕西省|