IT神童

          java,net,php技術研究神童

          java基礎學習--排序算法

          選擇排序:讓第一個跟后面的每個元素比較,如果大于則交換量元素的位置,第二次則讓第二個元素跟后面的元素一次比較(因為第一個元素的位置已經定了),一次類推直到最后一個元素.
          代碼:
          public class TestChoose {
          public static void main(String[] args) {
          int[] arr = {8,3,67,43,21,56,78};
          choose(arr);
          printArray(arr);
          }
          public static void choose(int[] arr){
          int temp = 0;
          for(int i = 0;i < arr.length;i ++){
          for(int j = i+1;j < arr.length;j ++){
          if(arr[i]>arr[j]){
          temp = arr[i];
          arr[i] = arr[j];
          arr[j] = temp;
          }
          }
          }
          }
          public static void printArray(int[] arr){
          for (int i = 0; i < arr.length; i++) {
          System.out.print(arr[i]+" ");
          }
          System.out.println();
          }
          }
          當if(arr[i]>arr[j])時:為升序排列
          if(arr[i]<arr[j])時:為降序排列
          冒泡排序:每次相鄰的兩個元素的相比較,每次相比大的放后面,每次比完以后最大的元素就確定 了,然后在從第一個元素開始,每相鄰的兩個元素之間的比較成都java培訓機構
          代碼:
          public static void bubbleSort(int[] arr){
          int temp = 0;
          for (int i = 0; i < arr.length; i++) {
          for (int j = 0; j < arr.length -i -1; j++) {
          if(arr[j]>arr[j+1]){
          temp = arr[j];
          arr[j] = arr[j+1];
          arr[j+1] = temp;
          }
          }
          }
          }
          對上面中arr.length-x-1說明 
          -x  是為了每次少比一次,每次比完以后最后的那個元素位值就確定了,所以沒有必要再比成都java培訓機構
          -1  是防止數組越界,當我i=0的事,j最后一次就是arr.length,如果不減1,則會出現數組訪問越界

          把上面的代碼中的choose(arr)改成bubbleSort(arr)可以測試冒泡排序的算法

          posted on 2012-08-22 10:15 IT神童 閱讀(185) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發(fā)表評論。


          網站導航:
           
          <2012年8月>
          2930311234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678

          導航

          統(tǒng)計

          常用鏈接

          留言簿

          隨筆檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 金昌市| 伊金霍洛旗| 罗田县| 丰原市| 大厂| 松潘县| 页游| 柞水县| 南康市| 华坪县| 上犹县| 灵宝市| 嘉义县| 南皮县| 吉林省| 龙南县| 于都县| 章丘市| 灌南县| 普宁市| 宜宾市| 肥城市| 翁源县| 潢川县| 象山县| 银川市| 浦县| 罗山县| 苗栗市| 雷州市| 阿拉善左旗| 庄河市| 台山市| 阿合奇县| 南丹县| 藁城市| 昌邑市| 双流县| 黄大仙区| 孙吴县| 奉新县|