隨筆 - 0, 文章 - 75, 評論 - 0, 引用 - 0
          數(shù)據(jù)加載中……

          java冒泡排序和選擇排序(面試題)

          冒泡排序缺點:時刻比較,性能不好



          冒泡排序特點:第一次循環(huán)結(jié)束,確定最大的在最后,以此類推


          選擇排序特點:第一次從R[0]~R[n-1]選最小值,與R[0]交換,以此類推


          public class TextSort {



          public static void main(String[] args) {
          int[]
          arrs={15,222,30,50,2,66};
          System.out.println("排序前:");
          for (int i = 0; i < arrs.length; i++) {
          System.out.println(arrs[i]);
          }

          //選擇排序
          int out,in; //定義外層循環(huán)變量out和內(nèi)層循環(huán)變量in
          int min;
          //定義最小值
          for(out=0;out<arrs.length-1;out++){
          //使用arrs.length-1 目的是不循環(huán)最后的數(shù),


          //因為子循環(huán)內(nèi),包含遍歷最后一個數(shù),省略一個判斷步驟
          min=out;
          //假設(shè)最小數(shù)的索引為第out個
          for(in=out+1;in<arrs.length;in++){
          //內(nèi)層循環(huán)從out+1開始
          if(arrs[in]<arrs[min]){
          //如果得到比arrs[min]還小的數(shù)
          min=in;
          //將比較小的數(shù)的索引,給min
          }
          }
          if(min!=out){
          //如果這個索引不是第out項(當(dāng)前指定的最小數(shù)min=out)則交換,省略一個交換步驟
          arrs[out]=arrs[out]+arrs[min];
          //不用第三個變量實現(xiàn)交換
          arrs[min]=arrs[out]-arrs[min];
          arrs[out]=arrs[out]-arrs[min];
          }
          }



          System.out.println("排序后:");
          for
          (int i = 0; i < arrs.length; i++)
          {
          System.out.println(arrs[i]);
          }
          }


          }
          --------------------------------------------


          補充:


          兩個數(shù)值變換,不定義第三個變量,實現(xiàn)互換操作


          int a=1;


          int b=2;


          a=a+b;


          b=a-b; //獲得a


          a=a-b; //獲得b


          上述例子中:


          可以不用min接收最小數(shù)


          代碼改為:


          arrs[i]=arrs[i]+arrs[j];


          arrs[j]=arrs[i]-arrs[j];
          arrs[i]=arrs[i]-arrs[j];

          posted on 2012-04-22 15:19 hantai 閱讀(268) 評論(0)  編輯  收藏


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


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 芦山县| 青浦区| 宝兴县| 航空| 临沂市| 乌兰察布市| 中卫市| 乳山市| 耒阳市| 凌源市| 虎林市| 龙井市| 榆社县| 平泉县| 霍林郭勒市| 内丘县| 博野县| 汉阴县| 义马市| 太湖县| 长汀县| 油尖旺区| 石景山区| 永寿县| 泉州市| 报价| 合山市| 凤山市| 海阳市| 金昌市| 乌兰察布市| 曲松县| 灵丘县| 庆云县| 布尔津县| 肥乡县| 朝阳区| 涿州市| 阳高县| 武义县| 克什克腾旗|