java面试常考的典型例子:冒泡排序

前几天去面试了,看到冒泡排序我就想到老师当时说冒泡排序经常考,今天由此机会再次回想一下。

冒泡排序就是一排不按大小排列的一组数字,从小到大或者从大到小排列。如果数组里的元素少的话一看就会排序,但是数组里有无数个元素时不能,所以你只能一个一个的比较才能排序下来。就是说把这个数组的每个元素跟它的的相邻的数字作比较,如果比自己大往后沉,如果小往前面冒。

例如:默认   :  5,3,-4,2

第一次 (2跟-4比较)          5,3,-4,2

第二次(-4跟3比较)         5,-4,3,2

第三部(-4跟5比较)         -4,5,3,2

                                            -4,5,2,3

                                           -4,2,5,3

                                           -4,2,3,5


第一个例子:


public class MaoPao01
{

 public MaoPao01()
 {
  int temp;
  int arr[] = { -4, 0, -2, -6, 4, 6, 2, 1 };
  for (int i = 0; i < arr.length; i++)
  {
   for (int j = i + 1; j < arr.length; j++)
   {
    if (arr[i] > arr[j])
    {
     temp = arr[i];
     arr[i] = arr[j];
     arr[j] = temp;
    }
   }
  }
  for (int i = 0; i < arr.length; i++)
  {
   System.out.println(arr[i]);
  }
 }

 public static void main(String[] args)
 {
  MaoPao01 b = new MaoPao01();

 }
}

如果想从大到小排列的话只要把  if语句里面的大于号变成小于号就可以了。


第二个例子:


public class MaoPao02
{
 public MaoPao02()
 {
  int arr[]={13,46,-54,0,34,8,4,54};
  int temp;
  for(int i=0;i<arr.length;i++)  //MaoPao01不也一样的地方是小括号里面
  {
   for(int j=0;j<arr.length-i-1;j++)
   {
    if(arr[j]>arr[j+1])
    {
     temp=arr[j];
     arr[j]=arr[j+1];
     arr[j+1]=temp;
     
    }
   }
  }
  for (int i = 0; i < arr.length; i++)
  {
   System.out.println(arr[i]);
  }
 }

 public static void main(String[] args)
 {
  
  MaoPao02 mao=new MaoPao02();
  

 }

}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值