Java排序算法

转载 2011年01月14日 11:08:00

  1
  2class zyfsort {
  3    public static void main (String[] args) {
  4        int gohome[] = new int[]{12,7,54,21,1,4,65,76,34,9,3,6};    
  5        System.out.println("插入排序算法");
  6//        InsertionSort(gohome);
  7        System.out.println("-------------------------------------------");
  8        System.out.println("选择排序算法");
  9//        SelectSort(gohome);
 10        System.out.println("-------------------------------------------");
 11        System.out.println("冒泡排序算法");
 12//        BubbleSort(gohome);
 13        System.out.println("-------------------------------------------");
 14        gohome =QuickSort(gohome);
 15        
 16        for (int t=0; t<gohome.length;t++)
 17        {
 18            System.out.print(gohome[t]+"--");
 19        }
 
 20    }

 21    
 22    //插入排序算法
 23    public static void InsertionSort(int[] goal)
 24    {    
 25        for (int i = 1; i<goal.length; i++)
 26        {    int now = i;
 27            int frank = goal[i];            
 28            while (now>0 && goal[now-1<= frank)
 29            {
 30                goal[now]=goal[now-1];
 31                now--;            
 32            }

 33            goal[now]=frank;
 34            
 35        
 36        }
    
 37        
 38            
 39        for (int t=0; t<goal.length;t++)
 40        {
 41            System.out.print(goal[t]+"--");
 42        }

 43    }

 44    
 45    //选择排序算法    
 46    public static void SelectSort(int[] goal)
 47    {        
 48        int max;
 49        int stmp;    
 50        for (int i = 0; i<goal.length-1; i++)
 51        {
 52            max=i;
 53            for (int j = i+1; j<goal.length; j++)
 54                if(goal[j]>goal[max])
 55                    max=j;
 56                                    
 57            stmp = goal[i];
 58            goal[i]=goal[max];
 59            goal[max]=stmp;            
 60        
 61        }
    
 62        for (int t=0; t<goal.length;t++)
 63        {
 64            System.out.print(goal[t]+"--");
 65        }

 66            
 67    
 68    }

 69    
 70    //冒泡排序算法    
 71    public static void BubbleSort(int[] goal)
 72    {    int stmp;
 73        for (int i = 1; i< goal.length; i++)
 74        {
 75            for(int j=0; j<i;j++)
 76            {
 77                if(goal[i]>goal[j])
 78                {
 79                    stmp=goal[i];
 80                    goal[i]=goal[j];
 81                    goal[j]=stmp;    
 82                }
    
 83            }
    
 84    
 85        }

 86        for (int t=0; t<goal.length;t++)
 87        {
 88            System.out.print(goal[t]+"--");
 89        }

 90    }

 91    
 92    //快速排序算法
 93    public static int[] QuickSort(int[] number) {
 94      QuickSort(number, 0, number.length-1);
 95      return number ;
 96      }

 97    private static void QuickSort(int[] number,int left, int right) {
 98        int stmp;
 99      if(left < right) {
100          System.out.println(left+" | "+right+" | "+(left+right)/2);
101          int s = number[(left+right)/2];
102          int i = left - 1;
103          int j = right + 1;
104          while(true{
105                // 向右找
106                while(number[++i] > s) ;
107                  // 向左找
108                while(number[--j] < s) ;
109                  if(i >= j)
110                      break;             
111                stmp = number[i];
112                  number[i] = number[j];
113                  number[j] = stmp;              
114              }

115          QuickSort(number, left, i-1); // 对左边进行递回
116          QuickSort(number, j+1, right); // 对右边进行递回
117      }
     
118      }

119 }

相关文章推荐

java各自排序算法的实现

  • 2015年06月16日 16:27
  • 3KB
  • 下载

java版6种排序算法

  • 2015年11月11日 10:32
  • 3KB
  • 下载

java实现的各种排序算法

折半插入排序 折半插入排序是对直接插入排序的简单改进。此处介绍的折半插入,其实就是通过不断地折半来快速确定第i个元素的插入位置,这实际上是一种查找算法:折半查找。Java的Arrays类里的binar...

Java排序算法源代码

  • 2015年11月07日 14:02
  • 4KB
  • 下载

Java各种排序算法

  • 2014年08月17日 11:18
  • 135KB
  • 下载

java 中的常用排序算法

//插入排序: package org.rut.util.algorithm.support; import org.rut.util.algorithm.SortUtil; /** * @au...

Java几种排序算法

  • 2013年09月24日 20:41
  • 74KB
  • 下载

java各种排序算法

  • 2013年01月07日 22:14
  • 29KB
  • 下载

Java基础之冒泡排序算法

冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交...
  • zyhlwzy
  • zyhlwzy
  • 2017年10月24日 18:39
  • 60

java编写的插入排序算法

  • 2013年10月25日 17:40
  • 159KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java排序算法
举报原因:
原因补充:

(最多只允许输入30个字)