最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java實現(xiàn)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法)

 更新時間:2016年08月15日 11:29:56   投稿:mrr  
本文是小編給大家?guī)淼膉ava各種排序算法知識,包括插入排序、選擇排序算法、冒泡排序算法,代碼簡單易懂,需要的朋友可以參考下

一、插入排序算法實現(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ù)組也已經修改,已排好序
}

二、選擇排序算法實現(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;
}

改進冒泡排序,提前終結

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)的各種排序算法(插入排序、選擇排序算法、冒泡排序算法),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

相關文章

  • Mybatis-Plus多表關聯(lián)查詢的使用案例解析

    Mybatis-Plus多表關聯(lián)查詢的使用案例解析

    這篇文章主要介紹了Mybatis-Plus多表關聯(lián)查詢的使用,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-05-05
  • Cors實現(xiàn)java后端完全跨域實例

    Cors實現(xiàn)java后端完全跨域實例

    本篇文章主要介紹了Cors實現(xiàn)java后端完全跨域實例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-05-05
  • 深入解析Java多態(tài)進階學習

    深入解析Java多態(tài)進階學習

    java的動態(tài)綁定機制非常重要。這篇文章將帶大家更深入的學習一下Java的多態(tài),文中的示例代碼講解詳細,對我們學習Java有一定幫助,需要的可以參考一下
    2022-07-07
  • 關于為何說JAVA中要慎重使用繼承詳解

    關于為何說JAVA中要慎重使用繼承詳解

    Java繼承是面向對象的最顯著的一個特征,然而下面這篇文章主要給大家介紹了關于為何說JAVA中要慎重使用繼承的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-08-08
  • Java PhantomJs完成html圖片輸出功能

    Java PhantomJs完成html圖片輸出功能

    給大家?guī)硪黄P于用Java PhantomJs完成html圖片輸出功能的教學內容,有興趣的朋友學習參考下吧。
    2017-12-12
  • mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    mybatis-plus用insertBatchSomeColumn方法批量新增指定字段

    mybatisPlus底層的新增方法是一條一條的新增的,下面這篇文章主要給大家介紹了關于mybatis-plus用insertBatchSomeColumn方法批量新增指定字段的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-05-05
  • 詳解spring 配置的兩種方式:JAVA配置和注解配置

    詳解spring 配置的兩種方式:JAVA配置和注解配置

    這篇文章主要介紹了詳解spring 配置的兩種方式:JAVA配置和注解配置,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Spring整合Mybatis 掃描注解創(chuàng)建Bean報錯的解決方案

    Spring整合Mybatis 掃描注解創(chuàng)建Bean報錯的解決方案

    這篇文章主要介紹了Spring 整合Mybatis 掃描注解創(chuàng)建Bean報錯的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Spring Security之LogoutSuccessHandler注銷成功操作方式

    Spring Security之LogoutSuccessHandler注銷成功操作方式

    這篇文章主要介紹了Spring Security之LogoutSuccessHandler注銷成功操作方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • maven導入本地jar包的三種方式

    maven導入本地jar包的三種方式

    本文主要介紹了maven導入本地jar包的三種方式,?文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-04-04

最新評論

通河县| 鄂尔多斯市| 谷城县| 二连浩特市| 西畴县| 大同县| 浏阳市| 共和县| 宜宾市| 个旧市| 莆田市| 基隆市| 清丰县| 淮安市| 利辛县| 海宁市| 吴旗县| 迭部县| 美姑县| 建昌县| 鹰潭市| 安远县| 赣榆县| 常熟市| 沅陵县| 巴彦县| 安仁县| 正宁县| 云龙县| 泸定县| 灵寿县| 胶南市| 偃师市| 德令哈市| 黄平县| 岳阳县| 曲阳县| 永修县| 宣恩县| 长垣县| 鹰潭市|