定义栈的顺序存储结构,实现入栈操作,出栈操作,判断栈为空的基本操作,设计算法,

利用栈实现任意一个十进制转化为k进制
c语言的方法

下面是一个栈的算法

#include <stdio.h>
#include <stdlib.h>

typedef struct Node{
int iData;
struct Node* pNext;
}Node;

void push(Node** pTop, int iData)
{
Node* pNew = (Node*)malloc(sizeof(Node));
pNew->pNext = NULL;
pNew->iData = iData;

if (NULL == (*pTop)){
(*pTop) = pNew;
}else{
pNew->pNext = (*pTop);
(*pTop) = pNew;
}
}

void pop(Node** pTop)
{
Node *pDel=NULL;
if (NULL == (*pTop)){
printf("Empyt stack!\n");
}else{
printf("stack value: %d\n", ((*pTop))->iData);
pDel = (*pTop);
(*pTop) = (*pTop)->pNext;
}
}

void print_stack(Node* pTop)
{
Node* p = pTop;
while(p){
printf("print_stack:%d\n",p->iData);
p = p->pNext;
}
}

int main()
{
Node* pTop = NULL;
int i,ii;
for (i=1; i<10; i++)
{
push(&pTop, i);
}

print_stack(pTop);

for (ii=1; ii<10; ii++)
{
pop(&pTop);
}

return 0;
}

追问

利用栈实现任意一个十进制转化为k进制怎么写啊

来自:求助得到的回答
温馨提示:答案为网友推荐,仅供参考
相似回答