排序方法

package com.test1;
import java.util.Calendar;
class  Paixu
{
 public static void main(String[] args)
 {
  //float arr1[]={1,3.2f,2.6f,8,-666,36};
  //Bubble add=new Bubble();
  //add.sort(arr1);
  
  
  //定义数组
  int len=100000;
  float[] arr1=new float[len];
  for(int i=0;i<len;i++)
  {
   //Math.random()会产生一个0~1的数
   int t= (int) (Math.random()*100000);
   arr1[i]=t;
  }
  Calendar cal=Calendar.getInstance();
  System.out.println("排序前"+cal.getTime());
  //Select cc=new Select();
  //cc.sort(arr1);
  Bubble add=new Bubble();
    add.sort(arr1);
  Calendar cal1=Calendar.getInstance();
  System.out.println("排序后"+cal1.getTime());
  
 }
}
//选择排序
class Select
{
 public void sort(float[] arr)
 {
  //float min=arr[0];
  float temp=0;
  int mindox=0;
  {
   for(int i=0;i<arr.length-1;i++)
   {
    mindox=i;
    for(int j=i+1;j<arr.length;j++)
    {
     if(arr[j]<arr[mindox])
     {
      //min=arr[j];
      mindox=j;
      
     }
    }
    temp=arr[i];
    arr[i]=arr[mindox];
    arr[mindox]=temp;
   }
   /*for(int a=0;a<arr.length;a++)
   {
               System.out.println(arr[a]+" ");
   }*/
  }
 }
}
//冒泡排序
class Bubble
{
 public void sort(float[] arr)
 {
  
 
  float temp=0;
  for(int i=0;i<arr.length-1 ;i++)
  {
   for(int j=0;j<arr.length-1-i;j++)
   {
    if(arr[j]>arr[j+1])
    {
     temp=arr[j];
     arr[j]=arr[j+1];
     arr[j+1]=temp;
    }
   }
   
  }
  /*for(int a=0;a<arr.length;a++)
  {
              System.out.println(arr[a]+" ");
  }*/
   
 }
}
//插入排序
class Insert
{
 //插入排序方法
 public void sort(float[] arr1)
 {
  for(int i=1;i<arr1.length;i++)
  {
   float insertVal=arr1[i];
   //insertVal准备和前一个数比较
   int index=i-1;
   while(index>=0&&insertVal<arr1[index])
   {
    //将把arr[index]向后移动
    arr1[index+1]=arr1[index];
    //让index向前移动
    index--;
   }
   //将insertVal插入到适当位置
   arr1[index+1]=insertVal;
  }
  for(int a=0;a<arr1.length;a++)
  {
              System.out.println(arr1[a]+" ");
  }
 }
 
}

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值