面试中可能h会遇到的的几种排序

import java.util.Arrays;
 
/**
  * 排序算法
  *
  */
public class SortDemo {
   public static void main(String[] args) {
     int [] ary = { 3 , 1 , 4 , 9 , 2 , 5 , 6 };
     selectionSort(ary);
     System.out.println(Arrays.toString(ary));
     bubbleSort(ary);
     System.out.println(Arrays.toString(ary));
     insertionSort(ary);    
     System.out.println(Arrays.toString(ary));
   }
   /** 插入式排序 */
   public static void insertionSort( int [] ary){
     int i,j,k;
     for (i= 1 ; i<ary.length; i++){
       k = ary[i]; //取出
       //查找位置
       for (j=i- 1 ; j>= 0 && k<ary[j]; j--){
         ary[j+ 1 ]=ary[j]; //向后移动元素
       }
       ary[j+ 1 ]=k; //插入
     }
   }
   /** 冒泡排序 */
   public static void bubbleSort( int [] ary){
     for ( int i= 0 ; i<ary.length- 1 ; i++){
       for ( int j= 0 ; j<ary.length-i- 1 ; j++){
         if (ary[j]>ary[j+ 1 ]){
           int t=ary[j];ary[j]=ary[j+ 1 ];ary[j+ 1 ]=t;
         }
       }
     }
   }
   
   /** 选择排序: 每轮选择一个最小的放到前面 */
   public static void selectionSort( int [] ary){
     for ( int i= 0 ; i<ary.length- 1 ; i++){
       for ( int j=i+ 1 ; j<ary.length; j++){
         if (ary[i]>ary[j]){
           int t=ary[i];ary[i]=ary[j];ary[j]=t;
         }
       }
     }
   }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值