演算法結合堆列實現十進位制轉二進位制
阿新 • • 發佈:2018-12-15
我們都知道十進位制轉二進位制的演算法是被除數除2後得出的餘數都是從下往上讀出的一串數字就是二進位制所以我們利用Deque的堆疊資料儲存結構:先進後出的形式,Deque的實現主要用LinkedList實現. 現在我們來看程式碼:
public class StackDemo { public static void main(String[] args) { //定義一個需要轉二進位制的十進位制數 int num = 32; //我們需要一個堆疊類來儲存二進位制數 Deque stack = new LinkedList(); do{ //獲得除2後的餘數 int mod =num % 2; //對被除數重新賦值 num =num /2; //stack存入餘數mod stack.push(mod); }while(num>0);//被除數等於0時 結束演算法 System.out.print("該十進位制數轉二進位制數為:-----------"); //遍歷stack中的資料 while(!stack.isEmpty()){ System.out.print(stack.pop()); } } }