詳解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-01
C++的靜態(tài)成員變量和靜態(tài)成員函數(shù)詳解
這篇文章主要為大家介紹了C++的靜態(tài)成員變量和靜態(tài)成員函數(shù),具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助2021-12-12
C++ 關(guān)于MFC List Control 控件的總結(jié)
這篇文章主要介紹了C++ 關(guān)于MFC List Control 控件的總結(jié)的相關(guān)資料,十分的詳細(xì),有需要的朋友可以參考下2015-06-06
c++靜態(tài)局部變量和靜態(tài)函數(shù)示例
這篇文章主要介紹了c++靜態(tài)局部變量和靜態(tài)函數(shù)示例,需要的朋友可以參考下2014-04-04
C/C++實現(xiàn)通訊錄管理系統(tǒng)(附源碼)
這篇文章主要為大家詳細(xì)介紹了如何利用C++實現(xiàn)通訊錄管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-12-12

