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

首頁 > 學(xué)院 > 開發(fā)設(shè)計(jì) > 正文

【黑馬程序員】-Java基礎(chǔ)學(xué)習(xí)-冒泡排序和選擇排序和練習(xí)輸出一個(gè)空心菱形

2019-11-14 15:26:44
字體:
供稿:網(wǎng)友

------- android培訓(xùn)、java培訓(xùn)、期待與您交流! ----------

 

冒泡排序和選擇排序

  冒泡排序(BubbleSort)的意思是,按照順序依次將兩個(gè)元素比較大小,按照要求把大數(shù)上浮或者下沉。每捋一次,就把選擇到的最大的或者最小的放到底部了。有限次后,就把所有的數(shù)都按照一個(gè)方向排列整齊了。
 
 1 package blog; 2  3 public class sortarray { 4  5     public static void main(String[] args) { 6         //定義一個(gè)數(shù)組 7         int[] shuzu={8,74,54,48,56,52,45,35,566,49}; 8         //冒泡排序,外循環(huán)是數(shù)組的長度-1.兩兩比較,要翻轉(zhuǎn)的次數(shù)是數(shù)組的長度-1個(gè)。 9         for(int i=0;i<shuzu.length-1;i++){  10             //內(nèi)循環(huán) 因?yàn)槭钱?dāng)前與后一個(gè)比較所以是length-1,整體翻i次,應(yīng)該總次數(shù)-i。11             for(int j=0;j<shuzu.length -i-1;j++){12                 if(shuzu[j]>shuzu[j+1]){13                     //交換兩個(gè)數(shù)組變量14                     shuzu[j+1]=shuzu[j+1]^shuzu[j];15                     shuzu[j]=shuzu[j+1]^shuzu[j];16                     shuzu[j+1]=shuzu[j+1]^shuzu[j];17                 }18             }19             20         }21         22         //遍歷數(shù)組23         for (int i : shuzu) {  24             System.out.PRintln(i);  25         } 26     }27 28 }

 


直接選擇排序(Straight Select Sorting)的原理也很簡單,就是第一遍把數(shù)組最小的值挑出來放到數(shù)組的第一個(gè)元素中,第二遍又把剩下的元素最小的放到第二個(gè)元素中。繼續(xù)下去,有限次后。把數(shù)組里面的元素按照從小到達(dá)排列好了。
 

 1 package blog; 2  3 public class sortjava2 { 4  5     public static void main(String[] args) { 6         //  7         int[] shuzu={8,74,54,48,56,52,45,35,566,49}; 8         //直接選擇排序,外循環(huán)是數(shù)組的長度-1.重復(fù)的次數(shù)應(yīng)該是數(shù)組的長度-1。 9                 for(int i=0;i<shuzu.length;i++){  10                     11                     //內(nèi)循環(huán) 要把未確定最小的數(shù)都再篩選一遍。所以次數(shù)應(yīng)該小于數(shù)組長度-i。12                     for(int j=i+1;j<shuzu.length;j++){13                         if(shuzu[i]>shuzu[j]){14                             int a=shuzu[i];15                             shuzu[i]=shuzu[j];16                             shuzu[j]=a;17                             }18                     19                     }20                 }21                     //遍歷數(shù)組22                     for (int c : shuzu) {  23                         System.out.println(c);  24                     } 25         }26     27 }

 下面是練習(xí)輸出一個(gè)空心菱形的代碼:

 1 package test; 2  3 /** 4  *  內(nèi)容是輸出一個(gè)空心菱形 5  * @author 瞎貓碰到死老虎 6  * 7  */ 8  9 public class LingXing {10 11     public static void main(String[] args) {        12         int n=15;13         lingxing(n);14 15     }16     17     //輸出一個(gè)n行的菱形18     public static void lingxing(int n){19         //先輸出上半部分20         for(int i=0;i<n;i++){    //輸出n行21             for(int j=0;j<n+i;j++){  //每行打印n+i字符22                 23                 if(j==n+i-1||j==n-1-i){ //如果是最后一個(gè)字符或?qū)ΨQ的位置,則顯示*號24                     System.out.print("*");25                 }else{26                     System.out.print(" ");27                 }28                 29             }30             System.out.println();31         }32     33         //輸出下部34         for(int i=0;i<n-1;i++){     //輸出n-1行35             for(int j=0;j<2*(n-1)-i;j++){    //每行打印2*(n-1)-i個(gè)字符36                 37                 if(j==2*(n-1)-i-1||j==i+1){   //如果是最后一個(gè)字符或?qū)ΨQ的位置,則顯示*號38                     System.out.print("*");39                 }else{40                     System.out.print(" ");41                 }42                 43             }44             45             System.out.println();46         }47         48     }49 50     51 52 }

 顯示的結(jié)果為:

              *             * *            *   *           *     *          *       *         *         *        *           *       *             *      *               *     *                 *    *                   *   *                     *  *                       * *                         **                           * *                         *  *                       *   *                     *    *                   *     *                 *      *               *       *             *        *           *         *         *          *       *           *     *            *   *             * *              *

 

 

  


發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 东兰县| 开阳县| 淮北市| 那坡县| 苍山县| 南漳县| 紫阳县| 濮阳县| 韶山市| 九龙坡区| 临朐县| 琼结县| 洛川县| 屏边| 惠水县| 荔波县| 新丰县| 吉隆县| 泰和县| 巴楚县| 进贤县| 江城| 松溪县| 巩留县| 福建省| 萨迦县| 泾源县| 仪征市| 滕州市| 顺昌县| 高淳县| 颍上县| 天津市| 乐都县| 西城区| 武宁县| 建德市| 五常市| 德阳市| 石首市| 册亨县|