??1?/**
          ??2??*?功能:完成了對所給數組進行排序;
          ??3??*?
          ??4??*?@author?Administrator
          ??5??*/
          ??6?
          ??7?public?class?BubbleSort
          ??8?{
          ??9?????public?BubbleSort()
          ?10?????{
          ?11?
          ?12?????}
          ?13?
          ?14?????public?static?void?main?(?String?args[]?)
          ?15?????{
          ?16?????????int?data[]?=?{?63,?56,?98,?12,?24?};
          ?17?
          ?18?????????int?n?=?data.length;
          ?19?
          ?20?????????//?bubblesort(data,?n);//冒泡排序
          ?21?????????//selectionSort(data,?n);//選擇排序
          ?22?????????insertionSort(data,n);//插入排序
          ?23?????????for?(int?i?=?0;?i?<?n;?i++)
          ?24?????????{
          ?25?????????????System.out.println(data[i]);
          ?26?????????????
          ?27?????????}
          ?28?????????
          ?29?????}
          ?30?
          ?31?????public?static?void?swap?(?int?data[]?,?int?i?,?int?j?)
          ?32?????{
          ?33?????????int?temp;
          ?34?????????temp?=?data[i];
          ?35?????????data[i]?=?data[j];
          ?36?????????data[j]?=?temp;
          ?37?????}
          ?38?
          ?39?????/*
          ?40??????*?冒泡排序
          ?41??????*/
          ?42?????public?static?void?bubblesort?(?int?data[]?,?int?n?)
          ?43?????{
          ?44?????????int?numsorted?=?0;
          ?45?????????int?index;
          ?46?????????while?(numsorted?<?n)
          ?47?????????{
          ?48?????????????for?(index?=?1;?index?<?n?-?numsorted;?index++)
          ?49?????????????{
          ?50?????????????????if?(data[index?-?1]?>?data[index])
          ?51?????????????????????swap(data,?index?-?1,?index);
          ?52?
          ?53?????????????}
          ?54?????????????numsorted++;
          ?55?
          ?56?????????}
          ?57?
          ?58?????}
          ?59?
          ?60?????/*
          ?61??????*?選擇排序
          ?62??????*/
          ?63?????public?static?void?selectionSort?(?int?data[]?,?int?n?)
          ?64?????{
          ?65?????????int?numUnsorted?=?n;
          ?66?????????int?index;
          ?67?????????int?max;
          ?68?????????while?(numUnsorted?>?0)
          ?69?????????{
          ?70?????????????max?=?0;
          ?71?????????????for?(index?=?1;?index?<?numUnsorted;?index++)
          ?72?????????????{
          ?73?????????????????if?(data[max]?<?data[index])
          ?74?????????????????????max?=?index;
          ?75?
          ?76?????????????}
          ?77?????????????swap(data,?max,?numUnsorted?-?1);
          ?78?????????????numUnsorted--;
          ?79?
          ?80?????????}
          ?81?????}
          ?82?
          ?83?????/*
          ?84??????*?插入排序
          ?85??????*/
          ?86?????public?static?void?insertionSort?(?int?data[]?,?int?n?)
          ?87?????{
          ?88?????????int?numSorted?=?1;
          ?89?????????int?index;
          ?90?????????while?(numSorted?<?n)
          ?91?????????{
          ?92?????????????int?temp?=?data[numSorted];
          ?93?????????????for?(index?=?numSorted;?index?>?0;?index--)
          ?94?????????????{
          ?95?????????????????if?(temp?<?data[index?-?1])
          ?96?????????????????{
          ?97?????????????????????data[index]?=?data[index?-?1];
          ?98?????????????????}?else
          ?99?????????????????{
          100?????????????????????break;
          101?????????????????}
          102?????????????}
          103?????????????data[index]?=?temp;
          104?????????????numSorted++;
          105?????????}
          106?????}
          107?
          108?}
          109?

          posted on 2007-02-06 16:48 -274°C 閱讀(1368) 評論(1)  編輯  收藏 所屬分類: JAVA


          FeedBack:
          # re: 常見排序算法
          2007-02-07 10:50 | Etrnls
          Where is quick qsort? -_-  回復  更多評論
            

          常用鏈接

          留言簿(21)

          隨筆分類(265)

          隨筆檔案(242)

          相冊

          JAVA網站

          關注的Blog

          搜索

          •  

          積分與排名

          • 積分 - 914107
          • 排名 - 40

          最新評論

          主站蜘蛛池模板: 和林格尔县| 冀州市| 黎川县| 定结县| 柳江县| 射阳县| 诸暨市| 会东县| 鄂托克旗| 从化市| 白水县| 花莲县| 奉化市| 宿州市| 江油市| 阳朔县| 利川市| 彝良县| 资兴市| 襄樊市| 许昌县| 克东县| 尼勒克县| 长阳| 江津市| 萍乡市| 莎车县| 巴东县| 阿鲁科尔沁旗| 花莲市| 巩义市| 长春市| 噶尔县| 法库县| 民勤县| 龙游县| 罗甸县| 合作市| 乌拉特中旗| 大荔县| 彰武县|