Johnny

          表面的激烈是由于內心的單薄,真正的力量如同流水一般沉靜
          隨筆 - 1, 文章 - 5, 評論 - 0, 引用 - 0
          數據加載中……

          快速排序Java代碼

          /**
           * 
          @author sikaijian
           
          */
          public class QuickSort {
              
              /**
               * 快速排序算法實現(xiàn)
               * 
          @param data 待排序數組
               * 
          @param left 左邊界 初始0
               * 
          @param right 右邊界 初始數組長度-1
               * 
          @author sikaijian
               
          */
              public static void sort(int[] data, int left, int right) {
                  if (left > right)
                      return;
                  int pHead = left;  // 頭部指針
                  int pTail = right;  // 尾部指針
                  int key = data[left];  // 哨兵

                  while (pHead < pTail) {
                      // 從右往左遍歷,找到比key小的數,放到前面
                      while (pHead < pTail && data[pTail] > key) pTail--;
                      if (pHead < pTail) data[pHead++] = data[pTail];
                      
                      // 從左往右遍歷,找到比key大的數,放到后面
                      while (pHead < pTail && data[pHead] < key) pHead++;
                      if (pHead < pTail) data[pTail--] = data[pHead];
                  }
                  
                  data[pHead] = key; // 歸位
                  
                  sort(data, left, pHead-1);  // 排序左邊的數組
                  sort(data, pHead+1, right);  // 排序右邊的數組
              }
              
              /**
               * 測試代碼
               * 
          @param args
               
          */
              public static void main(String[] args) {
                  int[] data = new int[] { 49, 23, 65, 13, 38, 96, 12, 33, 88, 123, 22,
                          11, 9, 55 };

                  for (int t : data) {
                      System.out.print(t);
                      System.out.print(" ");
                  }
                  System.out.println();
                  System.out.println("------------------------------");
                  QuickSort.sort(data, 0, data.length - 1);

                  for (int t : data) {
                      System.out.print(t);
                      System.out.print(" ");
                  }
              }
          }

          posted on 2012-09-21 11:01 瓢菝的雨夜 閱讀(215) 評論(0)  編輯  收藏 所屬分類: 數據結構算法


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


          網站導航:
           
          主站蜘蛛池模板: 赤水市| 赤壁市| 新沂市| 开远市| 全南县| 莎车县| 泰安市| 佛坪县| 海伦市| 泌阳县| 深水埗区| 龙岩市| 云安县| 巫溪县| 广丰县| 扬中市| 霍林郭勒市| 许昌县| 湘阴县| 阜城县| 博客| 八宿县| 咸丰县| 鹤峰县| 克东县| 武威市| 谷城县| 涞源县| 定日县| 灯塔市| 呈贡县| 漳浦县| 浦北县| 成安县| 安远县| 西乌| 临桂县| 墨玉县| 化德县| 高密市| 宁都县|