📄 3.1linkstack.c
字号:
/*链栈*/
#include "stdio.h"
#define Maxsize 100
typedef struct node
{
int data;
struct node *next;
}StackNode,*LinkStack;
LinkStack top;
int y;
LinkStack Init_LinkStack()
{
return NULL;
}
int Empty_LinkStack(LinkStack top)
{
if(top==NULL) return 1;
else return 0;
}
/*入栈*/
LinkStack Push_LinkStack(LinkStack top1,int x)
{
StackNode *s;
s=(StackNode *)malloc(sizeof(StackNode));
s->data=x;
s->next=top1;
top1=s;
return top1;
}
/*出栈*/
LinkStack Pop_LinkStack(LinkStack top1,int *x)
{
StackNode *p;
if(top1==NULL) return NULL;
else
{
*x=top1->data;
p=top1;
top1=top1->next;
free(p);
return top1;
}
}
/*判空栈*/
void conversion(int N,int r)
{
top=Init_LinkStack();
while(N)
{
top=Push_LinkStack(top,N%r);
N=N/r;
}
while(!Empty_LinkStack(top))
{
top=Pop_LinkStack(top,&y);
printf("%d",y);
}
}
main()
{
int M,t;
printf("please input a number:\n");
scanf("%d",&M);
printf("please input t:\n");
scanf("%d",&t);
conversion(M,t);
getch();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -