隨筆-109  評(píng)論-187  文章-25  trackbacks-0

          冒泡排序
          public class BubbleSort {
          ?public? static void sort(int[] data, int n) {
          ??int sortedNum = 0;
          ??int index;
          ??while (sortedNum < n) {
          ???for (index = 1; index < n - sortedNum; index++) {
          ????if (data[index - 1] > data[index]) {
          ?????int tmp;
          ?????tmp = data[index - 1];
          ?????data[index - 1] = data[index];
          ?????data[index] = tmp;

          ????}
          ???}
          ???sortedNum++;
          ??}
          ?}

          }
          選擇排序
          public class SelectSort {
          ?public static void sort(int[] data, int n) {
          ??int sortedNum = 0;
          ??int index;
          ??int maxIndex = 0;
          ??while (sortedNum < n) {
          ???for (index = 1; index < n - sortedNum - 1; index++) {
          ????if (data[maxIndex] < data[index]) {
          ?????maxIndex = index;
          ????}
          ???}
          ???int tmp;
          ???tmp = data[maxIndex];
          ???data[maxIndex] = data[n - sortedNum - 1];
          ???data[n - sortedNum - 1] = tmp;
          ???sortedNum++;

          ??}

          ?}

          }

          插入排序
          public class InsertSort {
          ?public static void sort(int[] data, int n) {
          ??int sortedNum = 1;
          ??int index;
          ??while (sortedNum < n) {
          ???int tmp = data[sortedNum];
          ???for (index = sortedNum; index > 0; index--) {
          ????if (tmp < data[index - 1]) {
          ?????data[index] = data[index - 1];
          ????} else {
          ?????break;
          ????}
          ???}
          ???//插入的他的位置
          ???//index就是找TMP的位置
          ???data[index] = tmp;
          ???sortedNum++;
          ???
          ???for(int i=0;i<n;i++){
          ????System.out.print(data[i]+",");
          ???}
          ???System.out.println("");
          ??}

          ?}

          }

          快速排序
          public class QuickSort {

          ?public static void sort(int[] data, int n) {
          ??quickSortRescursive(data, 0, n - 1);
          ?}

          ?private static void quickSortRescursive(int[] data, int left, int right) {

          ??int pos;
          ??if (left >= right)
          ???return;
          ??pos = getPos(data, left, right);
          ??// 排左邊的
          ??quickSortRescursive(data, left, pos - 1);
          ??quickSortRescursive(data, pos + 1, right);
          ?}

          ?private static int getPos(int[] data, int left, int right) {
          ??// 想左邊移動(dòng)
          ??while (true) {
          ???//遇到右邊的大就忽略,并且縮小右邊范圍
          ???while (left < right && data[left] < data[right])
          ????right--;
          ???
          ???//遇到左邊的大就往右邊換
          ???if (left < right)
          ????swap(data, left++, right);
          ???else
          ????return left;
          //???遇到右邊的大就忽略,并且左邊縮小范圍
          ???while (left < right && data[left] < data[right])
          ????left++;
          ???if (left < right)
          ??? //遇到左邊的大就往右邊換
          ????swap(data, left, right--);
          ???// return left;

          ???else
          ????return right;
          ???// return 0;
          ??}

          ?}

          ?private static void swap(int[] data, int i, int j) {
          ??int tmp = data[i];
          ??data[i] = data[j];
          ??data[j] = tmp;

          ?}

          }

          posted on 2006-05-25 15:07 小小程序程序員混口飯吃 閱讀(376) 評(píng)論(0)  編輯  收藏 所屬分類(lèi): java
          <2006年5月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          隨筆分類(lèi)

          java

          最新隨筆

          積分與排名

          • 積分 - 300684
          • 排名 - 194

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主站蜘蛛池模板: 安丘市| 肥城市| 东方市| 南靖县| 临猗县| 博罗县| 光山县| 曲麻莱县| 师宗县| 曲沃县| 称多县| 新河县| 柳河县| 青阳县| 湘乡市| 安乡县| 天门市| 平度市| 胶南市| 巴彦县| 舒兰市| 和林格尔县| 巴南区| 隆安县| 浮山县| 永善县| 星子县| 宕昌县| 新余市| 精河县| 永康市| 萨迦县| 枣庄市| 乡城县| 杭锦后旗| 天柱县| 迁西县| 盐亭县| 黄龙县| 侯马市| 龙胜|