冒泡排序,插入排序

public static void 插入排序(int[]arr){
  //默认第一次是拿到的最大的数
  int l=arr.length;
  int target;
  int j,i;
  //第一层for循环是用来选择数组里对应的元素的,从1开始选取,则表示
    //第一个数是默认的,不进行比较的直接入座。从数组里拿出第二个数
    //然后需要和已经入座的这个数进行比较,进入if判断,如果这个数和这个已经入座的数
    //进行比较的结果是这个数大于入座的这个数,则可以直接入座。否则,就要交换位置了。
    //把已经入座的这个数的值赋值到,本来要入座的这个数的位置上。然后再进行判断,相当于每次
    //需要比较的次数会递增,但是不会破坏原有的排序的结果。一旦找到对应的位置,target就直接
    //入座
  for( i=1;i<l;i++){
   j=i;
  target=arr[j];
  while(j>0&&target>arr[j-1]){
   arr[j]=arr[j-1];
   j--;
  }
   arr[j]=target;
   
   System.out.println(Arrays.toString(arr));
   
  }
  
  
 }
 
public static void 冒泡(int[]arr){
  
  int l=arr.length;
  //外层的for循环是确定比较的次数。7个元素的话,需要比较6次,
  for(int i=0;i<l-1;i++){
   //第二层for循环也是用来比较次数大的。
   for(int j=0;j<l-1-i;j++){
    if(arr[j]>arr[j+1]){
     int t=arr[j];
     arr[j]=arr[j+1];
     arr[j+1]=t;
    }
   }
   System.out.println(Arrays.toString(arr));
  }
  
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值