題目:
乙個棧依次壓入1,2,3,4,5,那麼從棧頂到棧底分別為5,4,3,2,1,將這個棧轉置後,從棧頂到棧底為1,2,3,4,5,也就是實現棧中元素的逆序,但是只能使用遞迴函式來實現,不能使用其它資料結構
public
class
reversebystack
public
intgetandremovelastelemt
() else
} public
void
reverse
()
int i = getandremovelastelemt();
reverse();
stack.push(i); }
public
static
void
main
(string args)
}}
題目:
乙個棧中元素的型別為整型,現在想將該棧從頂到底按從小到大的順序排序,只許申請乙個棧,除此之外,可以申請新的變數,但不能申請額外的資料結構
public
class
sortstackbystack
public
void
sort
() help.push(cur);
} while (!help.isempty()) }
public
static
void
main
(string args)
}}
題目:
有乙個整型陣列arr和乙個大小為w的視窗從陣列的最左邊滑到最右邊,視窗每次向右邊滑乙個位置
如果陣列長度為n,視窗大小為w,則一共產生n-w+1個視窗,
實現乙個函式:
輸入:整型陣列arr,視窗大小w
輸出:乙個長度為n-w+1的陣列res,res[i]表示每一種視窗狀態下的最大值
public
class
getthewidow
linkedlist.addlast(i);
if (linkedlist.peekfirst()==i-w)
if (i>=w-1)
} return res; }
public
static
void
main
(string args)
; int w = 3;
getthewidow getthewidow = new getthewidow();
int data = getthewidow.window(a, w);
for(int i=0;i}}
Java 排序演算法2
相關部落格 排序演算法1 插入排序演算法描述 記錄存放在陣列r 0 n 1 中,排序過程的某一中間時刻,r被劃分成兩個子區間r 0 i 1 和r i n 1 其中 前乙個子區間是已排好序的有序區 後乙個子區間則是當前未排序的部分。基本操作 將當前無序區的第1個記錄r i 插入到有序區r 0 i 1 ...
java中常見演算法2
二分查詢原理 param arr 乙個陣列 param a 要查詢的整數 return 返回查詢到的陣列下標,沒找到則返回 1 public int find int arr,int a else if a middle else return 1 利用遞迴實現二分查詢 param arr 乙個陣列...
Java與演算法(12)
1.二叉樹節點間最大距離問題 給定頭節點,求最大距離public class maxdistance public static intmaxdistance node head public static intposorder node head,int record int lmax poso...