熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

java排序的幾種方法

2013-11-23 19:15:13  來源: Java核心技術 
    //冒泡排序法(大的數往後放)
   
    class Bubble
   
    {
   
    //創建排序方法
   
    public void sort(int arr[])
   
    {
   
    int temp=;
   
    //排序
   
    //外層循環決定一共比幾次
   
    for(int i=;i<arrlength;i++)
   
    {
   
    //內層循環開始逐個比較
   
    for (int j=;j<arrlengthi;j++)
   
    {
   
    //如果發現前一個數比後一個數大則交換
   
    if(arr[j]>arr[j+])
   
    {
   
    //換位
   
    temp=arr[j];
   
    arr[j]=arr[j+];
   
    arr[j+]=temp;
   
    }
   
    }
   
    }
   
    }
   
    }
   
    //選擇排序法(從小到大)
   
    class Select
   
    {
   
    public void sort(int arr[])
   
    {
   
    int temp=;
   
    for(int i=;i<arrlength;i++)
   
    {
   
    //認為arr[i]最小
   
    int min=arr[i];
   
    //記錄最小的數的下標
   
    int minIndex=i;
   
    //用我認為的數和後面的數以次比較找到最小值
   
    for(int k=i+;k<arrlength;k++)
   
    {
   
    //如果arr[i]不是最小的則修改值
   
    if(min>arr[k])
   
    {
   
    //修改最小
   
    min=arr[k];
   
    minIndex=k;
   
    }
   
    }
   
    //當退出for就找到了這次的最小值並交換值
   
    temp=arr[i];
   
    arr[i]=arr[minIndex];
   
    arr[minIndex]=temp;
   
    }
   
    }
   
    }
   
    //插入排序法
   
    class InsertSort
   
    {
   
    public void sort (int arr[])
   
    {
   
    for(int i=;i<arrlength;i++)
   
    {
   
    //insertVal是准備插入的數
   
    int insertVal=arr[i];
   
    //insertVal准備和前一個數比較
   
    int index=i; //前一個數的下標
   
    while(index>=&&insertVal<arr[index])
   
    {
   
    //就把arr[index]向後移動一位
   
    arr[index+]=arr[index];
   
    //讓index向前移動
   
    index;
   
    }
   
    //將insertVal插入到適當位置
   
    arr[index+]=insertVal;
   
    }
   
    }
   
    }
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26530.html
  • 上一篇文章:

  • 下一篇文章:
  • 推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.