1. 程式人生 > >實現一個類,把冒泡和插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫和除錯

實現一個類,把冒泡和插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫和除錯

實現一個類,把冒泡和插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫和除錯

import java.util.Arrays;
/*
 * 實現一個類,把冒泡和插入封裝到兩個函式中去(宣告兩個函式,一個是冒泡,一個是插入),且進行呼叫和除錯
 */
public class Encapsulation{
    public static void main(String[] args) {
        int arr[] = {1,66,55,44,22,23};
        Bubble(arr);
        Insertion(arr);
        
    }
    
/* * 氣泡排序(Bubble Sort) * 比較相鄰的元素。 * 如果第一個比第二個大,就交換他們兩個。 * 對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最後一對。 * 在這一點,最後的元素應該會是最大的數。 * 針對所有的元素重複以上的步驟,除了最後一個。 * 持續每次對越來越少的元素重複上面的步驟,直到沒有任何一對數字需要比較。 */ public static void Bubble(int arr[]) { int len=arr.length-1; for
(int i=0;i<len;i++) { /*不需要和自己比較,比較n-1遍 */ for(int j=0;j<len-i;j++) { /* 外迴圈的i是用來控制內迴圈的長度的(你可以認為是控制j能到達的最大腳標) j和j+1就代表相鄰元素了,遍歷一遍就是所有相鄰元素比較 */ if(arr[j]>arr[j+1]) { /*元素交換
*/ int temp =arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } System.out.println("氣泡排序"+Arrays.toString(arr)); } /* *插入排序(Insertion Sort) * * 從第一個元素開始,該元素可以認為已經被排序; * 取出下一個元素,在已經排序的元素序列中從後向前掃描; * 如果該元素(已排序)大於新元素,將該元素移到下一位置; * 重複步驟3,直到找到已排序的元素小於或者等於新元素的位置; * 將新元素插入到該位置後; * 重複步驟2~5。 */ public static void Insertion(int arr[]) { int len=arr.length; for(int i=0; i<len-1;i++) { for(int j=i+1;j<len;j++) { /*元素交換*/ if(arr[i]<arr[j]) { int temp =arr[i]; arr[i]=arr[j]; arr[j]=temp; } } } System.out.println("插入排序"+Arrays.toString(arr)); } }

氣泡排序:氣泡排序

插入排序:插入排序

參考網站:https://www.cnblogs.com/onepixel/articles/7674659.html