国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 編程 > Java > 正文

深入Java冒泡排序與選擇排序的區(qū)別詳解

2019-11-26 16:04:57
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
冒泡排序
它重復(fù)地走訪過(guò)要排序的數(shù)列,一次比較兩個(gè)元素,如果他們的順序錯(cuò)誤就把他們交換過(guò)來(lái)。走訪數(shù)列的工作是重復(fù)地進(jìn)行直到?jīng)]有再需要交換,也就是說(shuō)該數(shù)列已經(jīng)排序完成。
代碼如下:
復(fù)制代碼 代碼如下:

public class nums {
     public static void main(String[] args){
         int []nums = {5,4,3,2,1};
         for(int i = 0; i < nums.length; i++){
             for(int j = 0; j < nums.length-i-1; j++){
                 if(nums[j] > nums[j+1]){
                     int temp = nums[j];
                     nums[j] = nums[j+1];
                     nums[j+1] = temp;
                 }
             }
             for(int x = 0;x < nums.length;x++){
                  System.out.print(nums[x]+",");
              }
             System.out.print("/n");
         }
     }
 }

每一輪比較后的輸出如下:
復(fù)制代碼 代碼如下:

1 4,3,2,1,5,
2 3,2,1,4,5,
3 2,1,3,4,5,
4 1,2,3,4,5,
5 1,2,3,4,5,

從輸出中可以很清楚的明白冒泡排序的算法流程。
選擇排序
每一趟從待排序的數(shù)據(jù)元素中選出最小(或最大)的一個(gè)元素,順序放在已排好序的數(shù)列的最后,直到全部待排序的數(shù)據(jù)元素排完。
代碼如下:
復(fù)制代碼 代碼如下:

public class nums {
     public static void main(String[] args){
         int []nums = {5,4,3,2,1};
         for(int i = 0; i < nums.length; i++){
             for(int j = 0; j < nums.length; j++){
                 if(nums[i] < nums[j]){
                     int temp = nums[i];
                     nums[i] = nums[j];
                     nums[j] = temp;
                 }
             }
             for(int x = 0;x < nums.length;x++){
                  System.out.print(nums[x]+",");
              }
             System.out.print("/n");
         }
     }
 }

從代碼中可以看出每輪比較中,nums[i]和數(shù)組中的每個(gè)元素都有作比較。
每一輪比較后的輸出如下:
復(fù)制代碼 代碼如下:

1 5,4,3,2,1,
2 4,5,3,2,1,
3 3,4,5,2,1,
4 2,3,4,5,1,
5 1,2,3,4,5,

從輸出結(jié)果中還是很容易看出它與冒泡排序在算法上的區(qū)別。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 博兴县| 晋江市| 长宁区| 什邡市| 泰兴市| 边坝县| 广丰县| 宁陕县| 汶川县| 开远市| 广宗县| 内乡县| 个旧市| 宁武县| 黄龙县| 望奎县| 铜陵市| 全南县| 姜堰市| 勐海县| 五台县| 沈丘县| 固阳县| 禄丰县| 永靖县| 青岛市| 青海省| 竹山县| 霍林郭勒市| 克山县| 韶关市| 青龙| 滨海县| 内乡县| 苏尼特右旗| 德庆县| 乌兰浩特市| 大田县| 金沙县| 汽车| 东辽县|