国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java冒泡排序和選擇排序示例

2019-11-26 15:30:05
字體:
來源:轉載
供稿:網友

冒泡排序(BubbleSort)的基本概念是:依次比較相鄰的兩個數,將小數放在前面,大數放在后面。即在第一趟:首先比較第1個和第2個數,將小數放前,大數放后。然后比較第2個數和第3個數,將小數放前,大數放后,如此繼續,直至比較最后兩個數,將小數放前,大數放后。至此第一趟結束,將最大的數放到了最后。在第二趟:仍從第一對數開始比較(因為可能由于第2個數和第3個數的交換,使得第1個數不再小于第2個數),將小數放前,大數放后,一直比較到倒數第二個數(倒數第一的位置上已經是最大的),第二趟結束,在倒數第二的位置上得到一個新的最大數(其實在整個數列中是第二大的數)。如此下去,重復以上過程,直至最終完成排序。

復制代碼 代碼如下:

public class Paixu {
 public static void main(String[] args) {
  int [] a = {2,6,4,5,1,7,3};
  int i = 0;
  int j = 0;
  int n = 0;
   for(i= 0;i<a.length-1;i++){
    for(j=0;j<a.length-i-1;j++){
     if(a[j]>a[j+1]){
      n = a[j];
      a[j] = a[j+1];
      a[j+1] = n;
     }
    }
   }
   for ( i = 0; i < a.length; i++) {
    System.out.println(a[i]);
   }
 }
}

直接選擇排序(Straight Select Sorting) 也是一種簡單的排序方法,它的基本思想是:第一次從R[0]~R[n-1]中選取最小值,與R[0]交換,第二次從R{1}~R[n-1]中選取最小值,與R[1]交換,....,   第i次從R[i-1]~R[n-1]中選取最小值,與R[i-1]交換,.....,第n-1次從R[n-2]~R[n-1]中選取最小值,與R[n-2]交換,總共通過n-1次,得到一個按排序碼從小到大排列的有序序列.

復制代碼 代碼如下:

public class Paixu {
 public static void main(String[] args) {
  int [] a = {2,6,4,5,1,7,3};
  int i = 0;
  int j = 0;
  int n = 0;
   for(i= 0;i<a.length;i++){
    for(j=i+1;j<a.length;j++){
     if(a[i]>a[j]){
      n = a[i];
      a[j] = a[i];
      a[i] = n;
     }
    }
   }
   for ( i = 0; i < a.length; i++) {
    System.out.println(a[i]);
   }
 }
}

示例2

復制代碼 代碼如下:

package cn.cqu.coce.xutao;

public class selectsort {
 public static void main(String args[]){

 int a[]={34,56,3,234,767,89,0,324,1,32,54,89,8};
 int b[]=new int[a.length];
 System.arraycopy(a, 0, b, 0, a.length);

 for(int i=0;i<a.length;i++){
  System.out.print(a[i]+"/t");
 }
 System.out.println();
 //選擇排序
 for(int i=0;i<a.length-1;i++){
  int min=i;
  for(int j=i+1;j<a.length;j++){
   if(a[min]>a[j])
    min=j;
  }
  if(min!=i){
   int temp=a[min];
   a[min]=a[i];
   a[i]=temp;
  }
 }
 for(int i=0;i<a.length;i++)
  System.out.print(a[i]+"/t");
 System.out.println();
 //冒泡排序
 for(int i=0;i<b.length;i++){
  for(int j=1;j<b.length-i;j++){
   if(b[j-1]>b[j]){
    int te=b[j];
    b[j]=b[j-1];
    b[j-1]=te;
   }
  }
 }
 for(int i=0;i<b.length;i++)
  System.out.print(b[i]+"/t");
 System.out.println();

 }
}



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 库伦旗| 剑阁县| 鱼台县| 会理县| 平和县| 界首市| 太康县| 张掖市| 稷山县| 潼南县| 商城县| 阜新| 马尔康县| 白玉县| 泰州市| 新乐市| 鸡西市| 祁东县| 仙桃市| 独山县| 简阳市| 鹤峰县| 本溪| 桂平市| 平原县| 庐江县| 布尔津县| 阿克苏市| 鸡西市| 芷江| 喀喇| 浦江县| 越西县| 横山县| 讷河市| 吐鲁番市| 成安县| 佛山市| 姚安县| 敖汉旗| 上饶市|