我是一個小白而已,面試官居然問我,研究過演算法嗎?用遞歸寫冒泡排序會嗎?差點瘋掉,說實在的真沒怎麼用過遞歸。 我跟他說,你讓我用電腦試試,我肯定能整齣來,結果面試官沒給機會。特此紀念一下吧! 遞歸是什麼?通俗的講:在方法內部調用自己(相當於現實中的“鬼打牆”,不過我也沒遇到過)。 花了幾分鐘整齣來的, ...
我是一個小白而已,面試官居然問我,研究過演算法嗎?用遞歸寫冒泡排序會嗎?差點瘋掉,說實在的真沒怎麼用過遞歸。
我跟他說,你讓我用電腦試試,我肯定能整齣來,結果面試官沒給機會。特此紀念一下吧!
遞歸是什麼?通俗的講:在方法內部調用自己(相當於現實中的“鬼打牆”,不過我也沒遇到過)。
花了幾分鐘整齣來的,遞歸冒泡排序分享給各位跟我一樣的新手們
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) {
9 for(int j=a.length-1;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 }
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不好學的,我只想告訴你的是,只要你敢想,低下頭去學,沒有什麼是你學不會的。因為你正在走的路,正是別人走出來的。
人生沒有白走的路,每一步都算數!加油!!!