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

概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。 ...
  • Happy_wu
  • Happy_wu
  • 2016年07月06日 17:57
  • 27169

java实现各种排序算法及比较

常见排序算法包括以下七种:选择排序、冒泡排序、插入排序、快速排序、希尔排序、堆排序、归并排序。 在学习具体算法实现并进行比较前,先来学习算法比较的几个维度。 一是稳定性 所谓稳定性,是指值相等的...
  • tang9140
  • tang9140
  • 2015年06月08日 11:01
  • 5134

java实现9大排序算法

排序大的分类可以分为两种:内排序和外排序。在排序过程中,全部记录存放在内存,则称为内排序,如果排序过程中需要使用外存,则称为外排序。一般来说外排序分为两个步骤:预处理和合并排序。首先,根据可用内存的大...
  • u011514810
  • u011514810
  • 2017年02月28日 21:22
  • 1651

java实现四种常用排序算法

四种常用排序算法冒泡排序特点:效率低,实现简单 思想(从小到大排):每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素。这只是冒泡排序的一种,当然也可以从后往...
  • huosanghuakai1995
  • huosanghuakai1995
  • 2017年07月13日 19:16
  • 283

java常用的排序和查找算法

...
  • zxwd2015
  • zxwd2015
  • 2017年03月03日 19:19
  • 240

Java实现三种排序算法

学习Java有一段时间了,今天研究了一下简单的算法,算法确实非常难,yonglebantiandeshijiancaino...
  • u014740732
  • u014740732
  • 2014年09月22日 16:26
  • 813

面试常用算法总结——排序算法(java版)

面试常用算法总结——排序算法(java版)
  • XSF50717
  • XSF50717
  • 2015年08月06日 15:57
  • 8549

Java数据结构与算法之常见排序算法总结

目录: 1.概述 2.常用排序方法总结 3.冒泡排序 4.选择排序 5.插入排序 6.归并排序 7.快速排序 8.shell排序 1.概述 学过排序算法的朋友可能都知道排序算法...
  • qq_28057577
  • qq_28057577
  • 2016年10月08日 15:54
  • 526

Java程序员必须掌握的8大排序算法

本文主要详解了Java语言的8大排序的基本思想以及实例解读,详细请看下文 8种排序之间的关系: 1, 直接插入排序 (1)基本思想:在要排序的一组数中,假设前面(n-1)[n>=2] 个数已经是...
  • jiutianhe
  • jiutianhe
  • 2015年01月16日 14:49
  • 4797

十大排序算法 JAVA代码

冒泡排序 插入排序 选择排序 希尔排序 归并排序 快速排序 堆排序 计数排序 基数排序 桶排序参考了这篇博客总体总结表:这个有个错误就是归并排序需要一个o(n)的辅助数组 冒泡排序主要思想:外层循环...
  • guanhang89
  • guanhang89
  • 2016年07月13日 23:10
  • 6299
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Java排序算法
举报原因:
原因补充:

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