Java使用递归的方法进行冒泡排序

      我一直在园子里没见到过java用递归写冒泡排序的,为啥不给通过?管理员,你给个理由!

      我是一个小白而已,面试官居然问我,研究过算法吗?用递归写冒泡排序会吗?差点疯掉,说实在的真没怎么用过递归。

我跟他说,你让我用电脑试试,我肯定能整出来,结果面试官没给机会。特此纪念一下吧!

      递归是什么?通俗的讲:在方法内部调用自己(相当于现实中的“鬼打墙”,不过我也没遇到过)。

      写递归方法,一定要记得给自己留门哈,不然就是只进不出了!(就是for循环一定是能出来的才行)  

     花了几分钟整出来的,递归冒泡排序分享给各位跟我一样的新手们

   1.冒泡排序(递归)

 1 public class SortTest {
 2      public static void main(String[] args) {
 3          int[] arr={12,5,16,3,9,0,158,214,85};
 4          queue(arr);
 5          System.out.println(Arrays.toString(arr));
 6  7  public static int[] queue(int[] a) {
 8           for(int i=1;i<a.length-1;i++){
 9               for(int j=a.length-i;j>0;j--){
10                   if(a[j]<a[j-1]){
11                           int t=a[j];
12                           a[j]=a[j-1];
13                           a[j-1]=t;
14                   return queue(a);
15            }     
16         }
17       }
18         return a;
19     }
20   }
21

2. 从1乘到n的方法(递归)

 1 public class SortTest {
 2      public static void main(String[] args) {
 3          long k=Sort(20);
 4          System.out.println(k);
 5 }
 6  public static long Sort(long n){
 7          if(n==1)
 8              return 1;
 9              return Sort(n-1)*n;
10          }
11 }

第二个赠送的,博客太短园子管理员不让发。等我学好了之后,会把递归再好好整理一下的。

好了,就这样了,看完了之后,面试官如果再问你,研究过算法吗?

你就可以自豪的回答,我使用递归写过冒泡排序,然后把上面的代码背给面试官就可以了!!

加油吧,和我一样奋起的菜鸟们,别相信什么困难,java不好学的,我只想告诉你的是,只要你敢想,低下头去学,没有什么是你学不会的。因为你正在走的路,正是别人走出来的。

人生没有白走的路,每一步都算数!加油!!!

猜你喜欢

转载自www.cnblogs.com/SpaceKiller/p/10503666.html
今日推荐