java中常用4种排序方法

转载地址:http://767148424.iteye.com/blog/2343072

     java中常用的四种排序方法: 快速排序、冒泡排序、选择排序、插入排序。 
     当然 程序中最简单的使用就是:快速排序和冒泡排序,插入排序的使用更具有技巧性,选择排序则过于复杂,冗杂的代码不利于程序的使用和软件的测试。 
     快速排序主要是运用了Arrays中的一个方法Arrays.sort()实现。 
     冒泡法则是利用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。 
     选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。 
     插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。 
      1.利用Arrays带有的排序方法快速排序 

Java代码   收藏代码
  1. import java.util.Arrays;    
  2.  public class Test{          
  3.      public static void main(String[] args){    
  4.         int[] a={5,4,2,4,9,1};                
  5.         Arrays.sort(a);  //进行排序    
  6.         for(int i: a){     
  7.            System.out.print(i);   
  8.             }       
  9.        }   
  10.  }   
  11.     
     
      2.冒泡排序算法  
Java代码   收藏代码
  1. public static int[] bubbleSort(int[] args){  
  2. //冒泡排序算法    
  3.      for(int i=0;i<args.length-1;i++){               
  4.      for(int j=i+1;j<args.length;j++){  
  5.            if (args[i]>args[j]){     
  6.                   int temp=args[i];    
  7.                   args[i]=args[j];    
  8.                   args[j]=temp;    
  9.                               }    
  10.                      }   
  11.              }    
  12.               return args;   
  13.     }  

        3.选择排序算法   
Java代码   收藏代码
  1. public static int[] selectSort(int[] args){  
  2.        //选择排序算法    
  3.         for (int i=0;i<args.length-1 i++ ){    
  4.               int min=i;             
  5.         for (int j=i+1;j<args.length j++ ){    
  6.             if (args[min]>args[j]){    
  7.               min=j;    
  8.                              }    
  9.                        }    
  10.             if (min!=i){   
  11.            int temp=args[i];  
  12.            args[i]=args[min];    
  13.            args[min]=temp;         
  14.               }   
  15.      }    
  16.         return args;     
  17. }  

       4.插入排序算法 
Java代码   收藏代码
  1. public static int[] insertSort(int[] args){//  
  2.         for(int i=1;i<args.length;i++){    
  3.         for(int j=i;j>0;j--){                 
  4.           if (args[j]<args[j-1]){     
  5.             int temp=args[j-1];  
  6.             args[j-1]=args[j];                                                                                                                          
  7.             args[j]=temp;        
  8.          }  
  9.             else break;    
  10.    }   
  11.  }                    
  12.           return args;   
  13. }  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值