飛艷小屋

          程序--人生--哲學___________________歡迎艷兒的加入

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            52 Posts :: 175 Stories :: 107 Comments :: 0 Trackbacks

          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));
          ????//打印排序好的結果
          ????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));
          ????//打印排序好的結果
          ????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));
          ????//打印排序好的結果
          ????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));
          ????//打印排序好的結果
          ????for?(int?i?=?0;?i?<?vec.length;?i++)?{
          ??????System.out.println(vec[i]);
          ????}
          ??}

          }

          posted on 2006-06-05 10:24 天外飛仙 閱讀(240) 評論(0)  編輯  收藏 所屬分類: 算法數據結構

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


          網站導航:
           
          主站蜘蛛池模板: 文化| 屯留县| 东兴市| 大同县| 香河县| 玛曲县| 昂仁县| 临邑县| 临江市| 许昌县| 正宁县| 伊宁县| 且末县| 娱乐| 乌苏市| 天全县| 江北区| 屏山县| 榕江县| 广元市| 蕲春县| 栾川县| 蛟河市| 综艺| 江永县| 天台县| 和田县| 汝州市| 张掖市| 长沙市| 秦安县| 射阳县| 河源市| 山丹县| 葫芦岛市| 濉溪县| 铅山县| 内乡县| 舞阳县| 松滋市| 庆云县|