控制臺(tái)顯示java冒泡排序流程示例
類:Nums 權(quán)限:public
方法:main 權(quán)限:public
參數(shù):nums,i,j,num;
參數(shù)介紹:
nums,數(shù)據(jù)類型 int[] ,用來(lái)存儲(chǔ) int 型的一系列數(shù)組;
i,數(shù)據(jù)類型 int ,作為 for 循環(huán)的循環(huán)變量,存儲(chǔ)排序比較的輪數(shù);
j,數(shù)據(jù)類型 int ,作為 for 循環(huán)的循環(huán)變量,存儲(chǔ)該輪排序比較的次數(shù);
num,數(shù)據(jù)類型 int ,作為兩值互換的第三方變量。
方法功能:
定義一個(gè) int[] 數(shù)組;
設(shè)置一個(gè)循環(huán)變量 i ,記錄比較輪數(shù);
設(shè)置一個(gè)循環(huán)變量 j ,記錄該輪比較中的比較次數(shù);
用數(shù)組中未排序完成的第一個(gè)數(shù)字和后面的其他數(shù)字進(jìn)行比較;
如果未排序完成的第一個(gè)數(shù)字比和他比較的數(shù)字小,就交換它們的位置,以保證未排序的第一個(gè)數(shù)始終是參與比較過(guò)的數(shù)字中最大的;
循環(huán)完成后,用迭代循環(huán)輸出排序結(jié)果。
public class NumsI{
public static void main (String [] arge){
//定義一個(gè) int 的數(shù)具類型數(shù)組 nums,并賦予初始值;
int[] nums = new int[]{12,24,34,14,45,17,65,51,25};
//提示排序方式并用迭代輸出數(shù)組初始狀態(tài);
System.out.println("冒泡排序演示");
System.out.print("初始數(shù)據(jù) ");
for (int num :nums){
System.out.print(num + " ");
}
System.out.println();
//設(shè)置一個(gè)循環(huán),用來(lái)記錄比較輪數(shù);
for (int i = 0; i < nums.length-1; i++ ){
//設(shè)置一個(gè)循環(huán),記錄該輪比較中的比較次數(shù);
for(int j =0;j < nums.length-1-i; j++){
//用 nums[] 數(shù)組中前面的值與它后面的值比較,如果后面的值比它大就執(zhí)行下面代碼塊;
if(nums[j]<nums[j+1]){
//對(duì) nums[] 數(shù)組中的進(jìn)行交換;
int num = nums[j];
nums[j] = nums[j+1];
nums[j+1] = num;
//輸出兩個(gè)交換位置的值;
System.out.print(nums[j+1] + "和" + nums[j] + "換位置"+" ");
}else{//如果沒(méi)有交換則打印空格,用來(lái)保持輸出格式工整;
System.out.print(" ");
}
//用迭代循環(huán)輸出本次排序完成后的結(jié)果;
for (int num :nums){
System.out.print(num + " ");
}
//提示進(jìn)行了一次比較;
System.out.println("進(jìn)行了一次比較" );
}
//提示進(jìn)行了一輪比較;
System.out.println("本輪比較結(jié)束");
}
//提示比較完備并用迭代輸出結(jié)果;
System.out.println("完畢");
for (int num :nums){
System.out.print(num +" ");
}
}
}
相關(guān)文章
java網(wǎng)絡(luò)編程中向指定URL發(fā)送GET POST請(qǐng)求示例
這篇文章主要介紹了java向指定URL發(fā)送GET POST請(qǐng)求示例,學(xué)習(xí)JAVA網(wǎng)絡(luò)編程一定會(huì)用到的,大家參考使用吧2013-11-11
java wait()/notify() 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式詳解
這篇文章主要介紹了java wait()/notify() 實(shí)現(xiàn)生產(chǎn)者消費(fèi)者模式詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java實(shí)現(xiàn)異步回調(diào)返回給前端的方法示例
在Java中實(shí)現(xiàn)異步回調(diào)并將結(jié)果返回給前端,通常是在Web應(yīng)用開(kāi)發(fā)中處理耗時(shí)操作時(shí)所采用的技術(shù)手段,以避免阻塞HTTP請(qǐng)求線程并提高用戶體驗(yàn),本文就來(lái)介紹一下如何實(shí)現(xiàn),感興趣的可以了解一下2024-03-03
關(guān)于ObjectUtils.isEmpty()?和?null?的區(qū)別
這篇文章主要介紹了關(guān)于ObjectUtils.isEmpty()?和?null?的區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
詳解Spring AOP自定義可重復(fù)注解沒(méi)有生效問(wèn)題
本文主要介紹了Spring AOP自定義可重復(fù)注解沒(méi)有生效問(wèn)題,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-08-08
SpringSecurity實(shí)現(xiàn)前后端分離登錄token認(rèn)證詳解
目前市面上比較流行的權(quán)限框架主要實(shí)Shiro和Spring Security,這兩個(gè)框架各自側(cè)重點(diǎn)不同,各有各的優(yōu)劣,本文將給大家詳細(xì)介紹SpringSecurity如何實(shí)現(xiàn)前后端分離登錄token認(rèn)證2023-06-06

