<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    如何學好java

    如何學好java,其實很簡單,只要用心體會,慢慢積累!
    posts - 106, comments - 7, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    java數據結構之排序

    Posted on 2014-01-02 22:32 哈希 閱讀(191) 評論(0)  編輯  收藏 所屬分類: java 代碼

     冒泡排序(Bubble Sort)是一種簡單的排序算法。它重復地走訪過要排序的數列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數列的工作是重復地進行直到沒有再需要交換,也就是說該數列已經排序完成。這個算法的名字由來是因為越小的元素會經由交換慢慢“浮”到數列的頂端。

      冒泡排序算法的運作如下:

    1.  比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。
    2.  對每一對相鄰元素作同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。
    3.  針對所有的元素重復以上的步驟,除了最后一個。
    4.  持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

    冒泡排序的過程圖:

    Bubble Sorte Animation

    代碼:

    復制代碼
     1 public class BubbleSort{
    2 public static void main(String[] args){
    3 int score[] = {67, 69, 75, 87, 89, 90, 99, 100};
    4 for (int i = 0; i < score.length -1; i++){ //最多做n-1趟排序
    5 for(int j = 0 ;j < score.length - i - 1; j++){ //對當前無序區間score[0......length-i-1]進行排序(j的范圍很關鍵,這個范圍是在逐步縮小的)
    6 if(score[j] < score[j + 1]){ //把小的值交換到后面
    7 int temp = score[j];
    8 score[j] = score[j + 1];
    9 score[j + 1] = temp;
    10 }
    11 }
    12 System.out.print("第" + (i + 1) + "次排序結果:");
    13 for(int a = 0; a < score.length; a++){
    14 System.out.print(score[a] + "\t");
    15 }
    16 System.out.println("");
    17 }
    18 System.out.print("最終排序結果:");
    19 for(int a = 0; a < score.length; a++){
    20 System.out.print(score[a] + "\t");
    21 }
    22 }
    23 }
    復制代碼

    Java中的快速排序源代碼

    public class QuickSort {

      public static void main(String[] args) {

      Random random=new Random();

      int[] pData=new int[10];

      for(int i=0;i<pData.length;i++){ //隨機生成10個排序數

      Integer a =random.nextInt(100);

      pData[i]= a;

      System.out.print(pData[i]+&quot; &quot;);

      }

      System.out.println();

      int left=0;

      int right=pData.length-1;

      Sort(pData,left,right);

      for(int i=0;i<pData.length;i++){

      System.out.print(pData[i]+&quot; &quot;);

      }

      System.out.println();

      }

      public static int[] Sort(int[] pData, int left, int right){

      int middle,strTemp;

      int i = left;

      int j = right;

      middle = pData[(left+right)/2];

      do{

      while((pData[i]<middle) && (i<right))

      i++;

      while((pData[j]>middle) && (j>left))

      j--;

      if(i<=j){

      strTemp = pData[i];

      pData[i] = pData[j];

      pData[j] = strTemp;

      i++;

      j--;

      }

      for(int k=0;k<pData.length;k++){

      System.out.print(pData[k]+&quot; &quot;);

      }

      System.out.println();

      }while(i<j);//如果兩邊掃描的下標交錯,完成一次排序

      if(left<j)

      Sort(pData,left,j); //遞歸調用

      if(right>i)

      Sort(pData,i,right); //遞歸調用

      return pData;

      }

      }




    二分法就是在排序數組中從前到后逐漸的進行排序,是循環一次后前面的數據就是有序的,然后就以此往后使得整個數組為有序的數組。(二分法排序示例代碼:)

    package binarySort;

    public class binarySort {

     public static void binary_sort(int a[])
     {
      int i,j,temp;
      int low ,hight ,mid;
      for(i=1;i<a.length;i++)
      {
       temp = a[i];
       low = 0;
       hight = i-1;
       while(low<=hight)
       {
        mid = (low+hight)/2;
        if(a[mid]>temp)
         hight =mid -1;
        else
         low = mid + 1;
       }
       for(j =i-1;j>hight;j--)
        a[j+1] = a[j];
       a[hight+1] = temp;
      }
     }
     public static void main(String[] args) {
      int a[] = {2,6,9,8,4,7,3,1,0,5};
      binary_sort(a);
      for(int i=0;i<a.length;i++)
       System.out.print(a[i]+ " ");
     }
    }

    主站蜘蛛池模板: 巨胸狂喷奶水视频www网站免费| 亚洲AV日韩AV永久无码色欲| 成全在线观看免费观看大全 | 亚洲国产一二三精品无码| 视频免费1区二区三区| 免费看一级做a爰片久久| 国产亚洲综合精品一区二区三区| 日韩免费高清视频| 亚洲av无码偷拍在线观看| 国产国产人免费人成免费视频| 亚洲av色香蕉一区二区三区| 免费人成网站在线播放| 亚洲免费日韩无码系列| 国产亚洲精品xxx| 亚洲视频在线观看免费视频| 亚洲an日韩专区在线| 永久在线毛片免费观看| 免费无码婬片aaa直播表情| 亚洲欭美日韩颜射在线二| 99久在线国内在线播放免费观看| 亚洲精品一卡2卡3卡三卡四卡| 永久免费av无码不卡在线观看| 亚洲精品乱码久久久久久蜜桃图片 | 国产在线a不卡免费视频| 羞羞漫画小舞被黄漫免费| 中文字幕亚洲一区二区va在线| 久久99精品国产免费观看| 亚洲一区二区三区深夜天堂| 国产青草视频免费观看97| 999zyz**站免费毛片| 亚洲日产2021三区在线| 国产免费人人看大香伊| 99在线观看视频免费| 337P日本欧洲亚洲大胆艺术图| 亚洲欧洲日产国码av系列天堂 | 精品久久洲久久久久护士免费| 精品久久久久久国产免费了| 亚洲精品亚洲人成在线观看麻豆| 日本高清免费aaaaa大片视频| 日韩精品无码免费专区网站| 亚洲精品456人成在线|