插入排序,選擇排序,冒泡排序等常用排序演算法(java實現)

來源:互聯網
上載者:User

標籤:


 
package org.webdriver.autotest.Study;import java.util.*;public class sort_examp{ public static void main(String[] args) {  Integer[] num={49,38,65,97,76,13,27,49,78,34,12,64,1};  //insertsort(num);  //selectsort(num);  maopaosort(num);     }//直接插入排序 public  static void insertsort(Integer[] num) {  System.out.println("排序之前:");  for(int i=0;i<num.length;i++)  {   System.out.print(num[i]+" ");  }  System.out.println();  //直接插入排序,從數組第二個位置開始  for(int i=1;i<num.length;i++)  {   //待插入元素,從第二個元素開始.num[i]為前一組元素   int insertnum=num[i];   int j;   for(j=i-1;j>=0;j--)   {       //將大於待插入元素的,值往後移1位,num[j]為後一組元素       if(num[j]>insertnum)     {num[j+1]=num[j];}else {      break;     }      }   //直到不存在num[j]>insertnum的時候,不移動位置   num[j+1]=insertnum;   System.out.println();           System.out.println("第:"+i+"輪排序");       for (int k = 0; k < num.length; k++)       {           System.out.print(num[k]+" ");    }     }  System.out.println();        System.out.println("排序之後:");        for (int i = 0; i < num.length; i++)         {         System.out.print(num[i]+" ");         }   }//選擇排序 public static void  selectsort(Integer[] num) {  System.out.println("排序之前:");  for(int i=0;i<num.length;i++)  {   System.out.print(num[i]+",");  }  System.out.println();  //i為排序結果的順序號  for(int i=0;i<num.length;i++)  {   //假定一個最小值min   int min=num[i];   //n儲存最小值索引(位置)   int n=i;   //從第二個數開始比較,把每次比較出的最小值放到左邊   for(int j=i+1;j<num.length;j++)   {    if(num[j]<min)//找出最小值    {     //num[j]最小,將num[j]賦值給min,並記錄num[j]原來的位置儲存到n     min=num[j];     n=j;         }    //將最小值跟比較值交換位置,將num[i]放到num[j]的位置    num[n]=num[i];    //將最小值按順序放到i的位置    num[i]=min;   }    System.out.println();    int l=i+1;       System.out.println("第:"+l+"輪排序");       for (int k = 0; k < num.length; k++)       {           System.out.print(num[k]+" ");    }  }  System.out.println();        System.out.println("排序之後:");        for (int i = 0; i < num.length; i++)         {         System.out.print(num[i]+" ");         }     }//冒泡排序 public static void  maopaosort(Integer[] num) {  System.out.println("排序之前:");  for (int i = 0; i < num.length; i++)   {      System.out.print(num[i]+" ");  }   //冒泡排序  for (int i = 0; i < num.length; i++)  {      for(int j = 0; j<num.length-i-1; j++)      {       //這裡-i主要是每遍曆一次都把最大的i個數沉到最底下去了,沒有必要再替換了          if(num[j]>num[j+1])          {               int temp = num[j];               num[j] = num[j+1];                num[j+1] = temp;          }      }      System.out.println();    int l=i+1;       System.out.println("第:"+l+"輪排序");       for (int k = 0; k < num.length; k++)       {           System.out.print(num[k]+" ");    }              }   System.out.println();   System.out.println("排序之後:");    for (int i = 0; i < num.length; i++)     {       System.out.print(num[i]+" ");    } } }

插入排序,選擇排序,冒泡排序等常用排序演算法(java實現)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.