Java實現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)
一、插入排序算法實現(xiàn)java版本
public static int[] insert_sort(int[] a) { for (int i = 0; i < a.length; i++) { for(int j=i+1;j>0&&j<a.length;j--) { if(a[j]<a[j-1]) { int tmp = a[j]; //這樣定義初始化邏輯上是可以的,j變量,每次tmp的值變化的 a[j] = a[j-1]; a[j-1] = tmp; } } } return a; //這里設(shè)計成不返回也行, 原數(shù)組也已經(jīng)修改,已排好序 }
二、選擇排序算法實現(xiàn)java版本
public static int[] select_sort(int[] a) { for (int i = 0; i < a.length; i++) { int min_pos = i; for(int j=i+1;j<a.length;j++) { if(a[j] < a[min_pos]) { min_pos = j; } } int tmp = a[i]; // swap 操作 a[i] = a[min_pos]; a[min_pos] = tmp; } return a; }
三、冒泡排序算法java實現(xiàn)
普通冒泡
public static int[] bubble_sort(int[] a) { for (int i = 0; i < a.length; i++) { //每一趟過后a[i]是第i小 for(int j = a.length-1;j>i;j--)//后續(xù)有j-1操作 注意j>i { if(a[j] < a[j-1]) { int tmp = a[j]; // swap 操作 a[j] = a[j-1]; a[j-1] = tmp; } } } return a; }
改進冒泡排序,提前終結(jié)
public static int[] bubble_sort_flag(int[] a) { boolean isChange = true; for (int i = 0; i < a.length && isChange; i++) { isChange = false; for(int j = a.length-1;j>i;j--)//后續(xù)有j-1操作 注意j>i { if(a[j] < a[j-1]) { int tmp = a[j]; // swap 操作 a[j] = a[j-1]; a[j-1] = tmp; isChange = true; } } } return a; }
以上所述是小編給大家介紹的Java實現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
相關(guān)文章
詳解Java從后臺重定向(redirect)到另一個項目的方法
這篇文章主要介紹了詳解Java從后臺重定向(redirect)到另一個項目的方法,非常具有實用價值,需要的朋友可以參考下2017-04-04java實現(xiàn)pgsql自動更新創(chuàng)建時間與更新時間的兩種方式小結(jié)
本文主要介紹了java實現(xiàn)pgsql自動更新創(chuàng)建時間與更新時間的兩種方式小結(jié),主要包括通過數(shù)據(jù)庫自身實現(xiàn)以及通過mybatisplus的TableField注解添加,具有一定的參考價值,感興趣的可以了解一下2024-01-01Spring boot整合mybatis實現(xiàn)過程圖解
這篇文章主要介紹了Spring boot整合mybatis實現(xiàn)過程圖解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08struts2的國際化實現(xiàn)網(wǎng)站整體中英文切換實例代碼
本篇文章主要介紹了struts2的國際化實現(xiàn)網(wǎng)站整體中英文切換實例代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-10-10java中實現(xiàn)兼容ie6 7 8 9的spring4+websocket
這篇文章主要介紹了java中實現(xiàn)兼容ie6 7 8 9的spring4+websocket程序代碼,十分的簡單實用,有需要的小伙伴可以參考下。2015-06-06