定义栈的顺序存储结构,实现入栈操作,出栈操作,判断栈为空的基本操作,设计算法,
答案:1 悬赏:0 手机版
解决时间 2021-03-27 20:42
- 提问者网友:皆是孤独
- 2021-03-27 12:53
定义栈的顺序存储结构,实现入栈操作,出栈操作,判断栈为空的基本操作,设计算法,
最佳答案
- 五星知识达人网友:零点过十分
- 2021-03-27 14:26
下面是一个栈的算法
#include
#include
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!
");
}else{
printf("stack value: %d
", ((*pTop))->iData);
pDel = (*pTop);
(*pTop) = (*pTop)->pNext;
}
}
void print_stack(Node* pTop)
{
Node* p = pTop;
while(p){
printf("print_stack:%d
",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进制怎么写啊来自:求助得到的回答
#include
#include
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!
");
}else{
printf("stack value: %d
", ((*pTop))->iData);
pDel = (*pTop);
(*pTop) = (*pTop)->pNext;
}
}
void print_stack(Node* pTop)
{
Node* p = pTop;
while(p){
printf("print_stack:%d
",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进制怎么写啊来自:求助得到的回答
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯