十進位制轉換二進位制C++實現(非遞迴)
實現十進位制轉換為二進位制非遞迴實現
以下是C++原始碼:
#include<iostream> #include<stdio.h> using namespace std; //十進位制 轉換為 二進位制------非遞迴 int DecToBin(int dec) { int result=0,temp=dec,j=1; while(temp) { result=result+j*(temp%2); temp=temp/2; j=j*10; } return result; } int main() { int dec; cout<<"請輸入一個十進位制數:"; cin>>dec; cout<<DecToBin(dec); cout<<endl; return 0; }
可以執行得出正確結果
例如:輸入 10,輸出為 1010;
相關推薦
十進位制轉換二進位制C++實現(非遞迴)
實現十進位制轉換為二進位制非遞迴實現 以下是C++原始碼: #include<iostream> #include<stdio.h> using namespace std; //十進位制 轉換為 二進位制------非遞迴 int DecToBin(int de
演算法-一步步教你如何用c語言實現堆排序(非遞迴)
看了左神的堆排序,覺得思路很清晰,比常見的遞迴的堆排序要更容易理解,所以自己整理了一下筆記,帶大家一步步實現堆排序演算法 首先介紹什麼是大根堆:每一個子樹的最大值都是子樹的頭結點,即根結點是所有結點的最大值 堆排序是基於陣列和二叉樹思想實現的(二叉樹是腦補結構,實際是陣列) 堆排序過程 1、陣列建
部分函式的遞迴與迭代(非遞迴)實現
部分函式的遞迴和迭代(非遞迴)實現 首先,說到遞迴函式,大家一般都會想到斐波那契數列和計算階乘這兩種,書本上大多也是以這兩個為例,下面就簡單介紹一下這兩個吧。 斐波那契數列: 1 1 2 3 5 8......這樣的數列叫做斐波那契數列,規律很簡單,前兩個數字的和就是第三個
用棧實現二叉樹的遍歷(非遞迴)
先實現棧 #include <stdio.h> #include <stdlib.h> #include <string.h> typedef char ElemType; #define STACKSIZE 20 typedef st
用鄰接表儲存有向圖並實現DFS(遞迴+非遞迴)BFS(非遞迴)兩種遍歷
程式碼如下: #include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> using namespace std; #define MA
利用鄰接矩陣儲存無向圖,並實現BFS(非遞迴) DFS(遞迴+非遞迴)兩種遍歷
#include<stdio.h> #include<stdlib.h> #include<string.h> #include<iostream> using namespace std; //------------鄰接矩陣----------- #def
【資料結構】二叉樹的建立和遍歷(非遞迴)
該程式使用的是遞迴地建立方法,以及非遞迴的遍歷演算法 執行環境:Dev-C++ #include <stdio.h> #include <stdlib.h> typedef struct node{ char data; struct node *lchild
折半查詢(非遞迴)
設有n個數據儲存於有序資料表中,在進行折半查詢之前,先找出資料表中的正中元素的下標mid,利用其關鍵碼L.Data[mid]與定值x作比較。 若x.key=L.Data[mid].key,查詢成功,返回其下標mid並報告成功; &nb
翻轉連結串列(非遞迴)
1. 問題描述: 給出一個連結串列,翻轉連結串列,返回翻轉後連結串列的頭結點 2. 我們也可以使用非遞迴的方式來進行翻轉連結串列,首先遍歷連結串列,使用一個指標pre記錄當前節點的前一個節點,使用當前節點的next指向前一個節點pre,即下一個元素的指標next指向前一個元素pre那麼就實現
二分搜尋(非遞迴)
1 public class Main{ 2 public static int binarySearch(int a[],int x,int n) { 3 int left=0; 4 int right=n-1; 5 while(lef
資料結構:歸併排序(非遞迴)
前言 歸併排序,是建立在歸併操作上的一種有效的排序演算法,效率為O(nlogn)。1945年由約翰·馮·諾伊曼首次提出。該演算法是採用分治法的一個非常典型的應用,且各層分治遞迴可以同時進行。(引自維基百科) 原理 以上視訊轉自www.youtube.com/watch?v=JSc… 由於掘金中無法
LintCode Binary Tree Inorder Traversal 二叉樹的中序遍歷(非遞迴)
給出一棵二叉樹,返回其中序遍歷。 Given a binary tree, return the inorder traversal of its nodes’ values. 樣例 給出二叉樹 {1,#,2,3}, 1 \
通過二叉樹的中序和後序遍歷序列構造二叉樹(非遞迴)
題目:通過二叉樹的中序和後序遍歷序列構造二叉樹 同樣,使用分治法來實現是完全可以的,可是在LeetCode中執行這種方法的程式碼,總是會報錯: Memory Limit Exceeded ,所以這裡還是用棧來實現二叉樹的構建。 與用先序和後序遍歷構造二叉樹的方法類似,
層次遍歷求二叉樹的高度(非遞迴)
來自大佬群主的第二題 所謂層次遍歷,是將二叉樹中的元素從根節點按照節點層數一層層的輸出。 程式碼如下: int GetDepth(bitreenode *root) { int dep
中序遍歷(非遞迴)
//前序遍歷 /*前序遍歷的遞迴實現*/ void preOrder(BinTree *root){ if(NULL!=root){ cout<<root->data<&
楊輝三角的C語言實現(遞迴與非遞迴)
本文用C語言程式碼實現楊輝三角 遞迴演算法依據於f(m,n)=f(m-1,n)+f(m-1,n-1) 其中(m,n)為楊輝三角第m行第n個元素 演算法程式碼如下: #include <stdio.h> //遞迴函式 int func(int m,in
二叉樹後序遍歷(遞迴與非遞迴)演算法及C語言實現
二叉樹後序遍歷的實現思想是:從根節點出發,依次遍歷各節點的左右子樹,直到當前節點左右子樹遍歷完成後,才訪問該節點元素。 圖 1 二叉樹 如圖 1 中,對此二叉樹進行後序遍歷的操作過程為: 從根節點 1 開始,遍歷該節點的左子樹(以節點 2 為根節點); 遍歷節點 2 的左子樹(以節點 4 為根
二叉樹中序遍歷(遞迴和非遞迴)演算法及C語言實現
二叉樹中序遍歷的實現思想是: 訪問當前節點的左子樹; 訪問根節點; 訪問當前節點的右子樹; 圖 1 二叉樹 以圖 1 為例,採用中序遍歷的思想遍歷該二叉樹的過程為: 訪問該二叉樹的根節點,找到 1; 遍歷節點 1 的左子樹,找到節點 2; 遍歷節點 2 的左子樹,找到節點 4;
二叉樹先序遍歷(遞迴與非遞迴)及C語言實現
二叉樹先序遍歷的實現思想是: 訪問根節點; 訪問當前節點的左子樹; 若當前節點無左子樹,則訪問當前節點的右子樹; 圖 1 二叉樹 以圖 1 為例,採用先序遍歷的思想遍歷該二叉樹的過程為: 訪問該二叉樹的根節點,找到 1; 訪問節點 1 的左子樹,找到節點 2; 訪問節點 2 的左子
C++實現二叉搜尋樹(遞迴&非遞迴)
二叉搜尋樹(Binary Search Tree)的性質: 1、每個節點都有一個作為搜尋關鍵碼的key,並且所有節點的key都不相同。 2、左子樹上的key值都小於根節點的key值。 3、右子樹上的key值都大於根節點的key值。 4、左右子樹都是二叉搜