詳解c/c++鏈?zhǔn)蕉褩C枋鲞M(jìn)制轉(zhuǎn)換問題示例
基礎(chǔ)操作需要創(chuàng)建鏈表來存儲數(shù)據(jù)
使用尾插法和尾刪法來表示棧中的入棧和出棧
typedef struct node { int data; struct node* next; }Node,*LPNode; LPNode creatnode(int data) { LPNode newnode = (LPNode)malloc(sizeof(Node)); assert(newnode); newnode->data = data; newnode->next = NULL; return newnode; } void insertbytail(LPNode &head,int data) //這里要么傳引用要么傳二級指針因為這里head賦值并沒有對主函數(shù)里面的head改變 { if (head == NULL) { head = creatnode(data); } else { LPNode newnode = creatnode(data); LPNode pmove = head; while (pmove->next!=NULL) { pmove = pmove->next; } pmove->next = newnode; } } void deletetail(LPNode head) { LPNode pronode = head; if (head == NULL) { return; } LPNode posnode = head->next; if (pronode->next == NULL) { cout << pronode->data; free(pronode); return; } while (posnode->next!= NULL) { pronode = posnode; posnode = posnode->next; } cout << posnode->data ; free(posnode); pronode->next = NULL; }
創(chuàng)建棧結(jié)構(gòu)
typedef struct stack { int top;//用來判斷是否為空 LPNode head; }Stack,*LPStack; //描述一個棧的最初始的狀態(tài) LPStack creatstack() { LPStack stack = (LPStack)malloc(sizeof(Stack)); assert(stack); stack->top = 0; stack->head = NULL; return stack; }
出棧入棧就是表現(xiàn)為鏈?zhǔn)浇Y(jié)構(gòu)的表尾插入和刪除
void push(LPStack stack,int data) { insertbytail(stack->head, data); stack->top++; } void pop(LPStack stack) { deletetail(stack->head); stack->top--; }
判斷棧是否為空即判斷 top==0
bool empty(LPStack stack) { return stack->top == 0; }
代碼實現(xiàn)
int main() { LPNode head = NULL; LPStack stack = creatstack(); int n; int num; cin >> num;//表示數(shù) cin >> n;//表示進(jìn)制 while (num) { push(stack,num%n ); num /= n; } while (!empty(stack)) { pop(stack); } return 0; }
以上就是c/c++鏈?zhǔn)蕉褩C枋鲞M(jìn)制轉(zhuǎn)換問題示例解析的詳細(xì)內(nèi)容,更多關(guān)于c/c++鏈?zhǔn)蕉褩C枋鲞M(jìn)制轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
一篇文章讓你輕松理解C++中vector和list區(qū)別
對于學(xué)c語言的同學(xué)來說,vector和list這兩個東西經(jīng)常會搞錯,下面這篇文章主要給大家介紹了關(guān)于C++中vector和list區(qū)別的相關(guān)資料,需要的朋友可以參考下2022-01-01C++的靜態(tài)成員變量和靜態(tài)成員函數(shù)詳解
這篇文章主要為大家介紹了C++的靜態(tài)成員變量和靜態(tài)成員函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12C++ 關(guān)于MFC List Control 控件的總結(jié)
這篇文章主要介紹了C++ 關(guān)于MFC List Control 控件的總結(jié)的相關(guān)資料,十分的詳細(xì),有需要的朋友可以參考下2015-06-06c++靜態(tài)局部變量和靜態(tài)函數(shù)示例
這篇文章主要介紹了c++靜態(tài)局部變量和靜態(tài)函數(shù)示例,需要的朋友可以參考下2014-04-04C/C++實現(xiàn)通訊錄管理系統(tǒng)(附源碼)
這篇文章主要為大家詳細(xì)介紹了如何利用C++實現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-12-12