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

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

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

    posts - 89,  comments - 98,  trackbacks - 0

    1? Java排序算法?
    ? package com.cucu.test;

    /**
    ?* @author http://www.linewell.com <a href=mailto:cg@linewell.com>cg@linewell.com</a>
    ?* @version 1.0
    ?*/
    public class Sort {

    ? public void swap(int a[], int i, int j) {
    ??? int tmp = a[i];
    ??? a[i] = a[j];
    ??? a[j] = tmp;
    ? }

    ? public int partition(int a[], int low, int high) {
    ??? int pivot, p_pos, i;
    ??? p_pos = low;
    ??? pivot = a[p_pos];
    ??? for (i = low + 1; i <= high; i++) {
    ????? if (a[i] > pivot) {
    ??????? p_pos++;
    ??????? swap(a, p_pos, i);
    ????? }
    ??? }
    ??? swap(a, low, p_pos);
    ??? return p_pos;
    ? }

    ? public void quicksort(int a[], int low, int high) {
    ??? int pivot;
    ??? if (low < high) {
    ????? pivot = partition(a, low, high);
    ????? quicksort(a, low, pivot - 1);
    ????? quicksort(a, pivot + 1, high);
    ??? }

    ? }

    ? public static void main(String args[]) {
    ??? int vec[] = new int[] { 37, 47, 23, -5, 19, 56 };
    ??? int temp;
    ??? //選擇排序法(Selection Sort)
    ??? long begin = System.currentTimeMillis();
    ??? for (int k = 0; k < 1000000; k++) {
    ????? for (int i = 0; i < vec.length; i++) {
    ??????? for (int j = i; j < vec.length; j++) {
    ????????? if (vec[j] > vec[i]) {
    ??????????? temp = vec[i];
    ??????????? vec[i] = vec[j];
    ??????????? vec[j] = temp;
    ????????? }
    ??????? }

    ????? }
    ??? }
    ??? long end = System.currentTimeMillis();
    ??? System.out.println("選擇法用時為:" + (end - begin));
    ??? //打印排序好的結(jié)果
    ??? for (int i = 0; i < vec.length; i++) {
    ????? System.out.println(vec[i]);
    ??? }
    ??? //? 冒泡排序法(Bubble Sort)
    ??? begin = System.currentTimeMillis();
    ??? for (int k = 0; k < 1000000; k++) {
    ????? for (int i = 0; i < vec.length; i++) {
    ??????? for (int j = i; j < vec.length - 1; j++) {
    ????????? if (vec[j + 1] > vec[j]) {
    ??????????? temp = vec[j + 1];
    ??????????? vec[j + 1] = vec[j];
    ??????????? vec[j] = temp;
    ????????? }
    ??????? }

    ????? }
    ??? }
    ??? end = System.currentTimeMillis();
    ??? System.out.println("冒泡法用時為:" + (end - begin));
    ??? //打印排序好的結(jié)果
    ??? for (int i = 0; i < vec.length; i++) {
    ????? System.out.println(vec[i]);
    ??? }

    ??? //插入排序法(Insertion Sort)
    ??? begin = System.currentTimeMillis();
    ??? for (int k = 0; k < 1000000; k++) {
    ????? for (int i = 1; i < vec.length; i++) {
    ??????? int j = i;
    ??????? while (vec[j - 1] < vec[i]) {
    ????????? vec[j] = vec[j - 1];
    ????????? j--;
    ????????? if (j <= 0) {
    ??????????? break;
    ????????? }
    ??????? }
    ??????? vec[j] = vec[i];
    ????? }
    ??? }
    ??? end = System.currentTimeMillis();
    ??? System.out.println("插入法用時為:" + (end - begin));
    ??? //打印排序好的結(jié)果
    ??? for (int i = 0; i < vec.length; i++) {
    ????? System.out.println(vec[i]);
    ??? }

    ??? //快速排序法(Quick Sort)

    ??? Sort s = new Sort();
    ??? begin = System.currentTimeMillis();
    ??? for (int k = 0; k < 1000000; k++) {
    ????? s.quicksort(vec, 0, 5);
    ??? }
    ??? end = System.currentTimeMillis();
    ??? System.out.println("快速法用時為:" + (end - begin));
    ??? //打印排序好的結(jié)果
    ??? for (int i = 0; i < vec.length; i++) {
    ????? System.out.println(vec[i]);
    ??? }
    ? }

    }
    以下是運(yùn)行結(jié)果:
    選擇法用時為:234
    56
    47
    37
    23
    19
    -5
    冒泡法用時為:172
    56
    47
    37
    23
    19
    -5
    插入法用時為:78
    56
    47
    37
    23
    19
    -5
    快速法用時為:297
    56
    47
    37
    23
    19
    -5?

    posted on 2006-09-01 10:31 水煮三國 閱讀(461) 評論(1)  編輯  收藏 所屬分類: J2SE

    FeedBack:
    # re: 轉(zhuǎn) JAVA一篇排序算法文章
    2007-06-27 23:08 | agoo
    兄弟你的冒泡排序有錯吧,我動行的結(jié)果可是不對的  回復(fù)  更多評論
      
    <2006年9月>
    272829303112
    3456789
    10111213141516
    17181920212223
    24252627282930
    1234567

    常用鏈接

    留言簿(4)

    隨筆分類(85)

    隨筆檔案(89)

    文章分類(14)

    文章檔案(42)

    收藏夾(37)

    java

    oracle

    Sybase

    搜索

    •  

    積分與排名

    • 積分 - 210940
    • 排名 - 266

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久亚洲精品AB无码播放| 亚洲另类春色校园小说| 最近中文字幕mv免费高清视频8 | 久久久国产精品福利免费| 亚洲国产精品久久久久秋霞影院 | 亚洲最大福利视频网站| 午夜dj在线观看免费视频| 岛国精品一区免费视频在线观看 | 一级毛片一级毛片免费毛片| 成人激情免费视频| 一级毛片在线播放免费| 久久亚洲AV成人无码软件| 国产精品冒白浆免费视频| 国产精品免费一区二区三区四区| 2019亚洲午夜无码天堂| 国产亚洲美女精品久久久| 99视频在线精品免费观看6| 中文字幕永久免费视频| 亚洲中文字幕乱码一区| 亚洲国产无套无码av电影| 四虎成人免费影院网址| 男人进去女人爽免费视频国产| 亚洲爆乳大丰满无码专区| 久久精品亚洲精品国产色婷| 啊v在线免费观看| 无限动漫网在线观看免费| 久久国产乱子精品免费女 | 久久国产精品国产自线拍免费| 亚洲AV无码一区二区三区牲色| 久久久久亚洲AV无码专区首| 亚洲av无码不卡私人影院| 日韩亚洲国产高清免费视频| 国色精品va在线观看免费视频 | 亚洲高清视频免费| 亚洲精品亚洲人成人网| 国产免费av片在线播放| 久久国内免费视频| 最近高清中文字幕免费| 视频免费在线观看| 亚洲一级片免费看| 一级一级一片免费高清|