浏览 1859 次
锁定老帖子 主题:链式栈实现进制转化
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-29
#include<stdio.h> #include<iostream> using namespace std; #define FALSE -1 typedef struct Node{ int data; Node *next; }Node,*Stack; Stack top=(Node *)malloc(sizeof(Node)); void InitialStack() { top->next=NULL; } bool IsEmpty() { bool flag; top->next==NULL?flag=true:flag=false; return flag; } int PopNode() { Node *temp=(Node *)malloc(sizeof(Node)); temp=top->next; if(top->next==NULL) return FALSE; int data=temp->data; top->next=temp->next; free(temp); return data; } void Push(int data) { Node *temp=(Node *)malloc(sizeof(Node)); temp->data=data; temp->next=top->next; top->next=temp; } void procOutput() { cout<<"转换后的值为:\n"; while(!IsEmpty()) { cout<<PopNode(); } cout<<"\n"; } int main() { int N; while(cin>>N) { InitialStack(); while(N!=0) { Push(N%2); N=N/2; } procOutput(); } return 0; } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |