这两天被面试整的头都大了,我是一个小白而已,面试官居然问我,研究过算法吗?用递归写冒泡排序会吗?差点疯掉,说实在的真没怎么用过递归。
我跟他说,你让我用电脑试试,我肯定能整出来,结果面试官没给机会。特此纪念一下吧!
递归是什么?通俗的讲:在方法内部调用自己(相当于现实中的“鬼打墙”,不过我也没遇到过)。
写递归方法,一定要记得给自己留门哈,不然就是只进不出了!(就是for循环一定是能出来的才行)
花了几分钟整出来的,递归冒泡排序分享给各位跟我一样的新手们
1 public static int[] queue(int[] a) { 2 for(int i=1;i<a.length-1;i++){ 3 for(int j=a.length-i;j>0;j--){ 4 if(a[j]<a[j-1]){ 5 int t=a[j]; 6 a[j]=a[j-1]; 7 a[j-1]=t; 8 return queue(a); 9 } 10 } 11 } 12 return a; 13 }
好了,就这样了,看完了之后,面试官如果再问你,研究过算法吗?
你就可以自豪的回答,我使用递归写过冒泡排序,然后把上面的代码背给面试官就可以了!!
加油吧,和我一样奋起的菜鸟们,别相信什么困难,java不好学的,我只想告诉你的是,只要你敢想,低下头去学,没有什么是你学不会的。因为你正在走的路,正是别人走出来的。
人生没有白走的路,每一步都算数!加油!!!