华南俳烁实业有限公司

java

當(dāng)前位置:中華考試網(wǎng) >> java >> java基礎(chǔ) >> 文章內(nèi)容

Java選擇排序法

來源:中華考試網(wǎng)  [2020年11月25日]  【

  假設(shè)當(dāng)前存在一個 int 類型的數(shù)組 number,該數(shù)組中的元素依次是 13、15、 24、99、4 和 1。如果使用冒泡排序進(jìn)行兩兩相鄰比較,第 一趟排序后的結(jié)果如下:

  13、15、24、4、1、99

  第二趟排序后的結(jié)果如下:

  13、15、4、1、24、99

  第三趟排序后的結(jié)果如下:

  13、4、1、15、24、99

  第四趟排序后的結(jié)果如下:

  填寫下面表單即可預(yù)約申請免費試聽java課程!害怕學(xué)不會?助教陪讀,隨時解惑!擔(dān)心就業(yè)?一地學(xué)習(xí),可全國推薦就業(yè)!

預(yù)約申請免費聽java課程

  • 地區(qū):
  • 姓名:
  • 手機:

  4、1、13、15、24、99

  第五趟排序后的結(jié)果如下:

  1、4、13、15、24、99

  使用選擇排序法也可以對上述數(shù)組中的元素進(jìn)行排序,但是它與冒泡排序不同。選擇排序是指每一趟從待排序的數(shù)據(jù)元素中選出最大(或最小)的一個元素,順序放在已排好序的數(shù)列的最后,直到全部待排序的數(shù)據(jù)元素排完。例如,使用選擇排序法重新對 number 數(shù)組中的元素進(jìn)行排序,那么第 一趟排序后的結(jié)果如下:

  13、15、24、1、4、99

  第二趟排序后的結(jié)果如下:

  13、15、4、1、24、99

  第三趟排序后的結(jié)果如下:

  13、1、4、15、24、99

  第四趟排序后的結(jié)果如下:

  4、1、13、15、24、99

  第五趟排序后的結(jié)果如下:

  1、4、13、15、24、99

  例 1

  利用選擇排序方法通過編程的方式實現(xiàn)對 number 數(shù)組的排序,并輸出已排序的數(shù)組元素。代碼如下:

  int[] number = {13,15,24,99,4,1};

  String end = "\n";

  int index;

  for (int i = 1;i < number.length;i++) {

  index = 0;

  for(int j = 1;j <= number.length-i;j++) {

  if (number[j] > number[index]) {

  index = j; // 查找最大值

  }

  }

  end = number[index] + " " + end; // 定位已排好的數(shù)組元素

  int temp = number[number.length-i];

  number[number.length-1] = number[index];

  number[index] = temp;

  System.out.print("【");

  for (int j = 0;j < number.length-i;j++) {

  System.out.print(number[j]+" ");

  }

  System.out.print("】"+end);

  }

  執(zhí)行上述代碼,查看每一趟排序后的結(jié)果,運行結(jié)果如下所示。

  【13 15 24 1 4 】99

  【13 15 4 1 】24 99

  【13 1 4 】15 24 99

  【4 1 】13 15 24 99

  【1 】4 13 15 24 99

責(zé)編:fushihao

上一篇:java一維數(shù)組總結(jié)

下一篇: 沒有了

  • 會計考試
  • 建筑工程
  • 職業(yè)資格
  • 醫(yī)藥考試
  • 外語考試
  • 學(xué)歷考試
怀化市| 托克逊县| 宁波市| 杭锦旗| 广灵县| 叙永县| 英吉沙县| 大邑县| 银川市| 白朗县| 民和| 万州区| 博白县| 中西区| 德格县| 宜城市| 沙坪坝区| 澜沧| 黔西县| 合川市| 岚皋县| 正安县| 平舆县| 河西区| 文化| 保康县| 清流县| 黔南| 印江| 奎屯市| 新龙县| 平山县| 界首市| 杭州市| 建湖县| 彭州市| 梧州市| 汉寿县| 永川市| 从江县| 富阳市|