| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 671 人关注过本帖
标题:顺序栈的操作
只看楼主 加入收藏
罗文喆
Rank: 1
来 自:哈尔滨
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-10-7
结帖率:0
收藏
 问题点数:0 回复次数:4 
顺序栈的操作
//顺序栈的操作
#define StackSize 100
typedef int DataType;
typedef struct{
    DataType elem[StackSize];
    int top; //栈顶指针在栈顶元素上
}SqStack;    //顺序栈类型
//初始化空栈
void InitStack(SqStack &s)
{  s.top=-1;   }
//入栈
void Push(SqStack &s,DataType x)
{  if(s.top ==StackSize-1){
    printf("栈满\n"); return;
   }
   s.elem[++s.top]=x;
}
//出栈
void Pop(SqStack &s,DataType &x)
{if(s.top==-1)
printf("栈空")
x=s.elem[s.top--]
}
//取栈顶元素
DataType GetTop(SqStack s)
{  return s.elem[s.top];
}
//判栈空
int StackEmpty(SqStack s)
{   return s.top== -1;
}
void conversion( )//数制转换函数
{ int m,d,x;
  SqStack s;
  InitStack(s);
  printf("请输入一个十进制的数:");
  scanf("%d",&m);
  printf("输入转换成几进制:");
  scanf("%d",&d);
  while(m!=0)
  {  Push(s,m%d);
     m=m/d;
     }
  while(!StackEmpty(s))
  {  Pop(s,x);
     printf("%d",x);
     }
搜索更多相关主题的帖子: 元素 return void 
2012-10-08 17:36
zhu224039
Rank: 8Rank: 8
等 级:贵宾
威 望:17
帖 子:862
专家分:792
注 册:2012-7-29
收藏
得分:0 
干的漂亮  伙计 加油

我要成为嘿嘿的黑客,替天行道
2012-10-10 21:22
海莲
Rank: 1
等 级:新手上路
帖 子:19
专家分:5
注 册:2012-9-27
收藏
得分:0 
我们也正在学栈和列队
2012-10-11 19:45
ChamYu
Rank: 1
等 级:新手上路
帖 子:4
专家分:2
注 册:2012-10-11
收藏
得分:0 
你这个程序,只适用于十进制一下的转换,比如十转十六就不好了。
2012-10-11 22:27
nikobelic
Rank: 2
等 级:论坛游民
帖 子:37
专家分:30
注 册:2012-5-26
收藏
得分:0 
真厉害
2012-10-15 11:14
快速回复:顺序栈的操作
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016416 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved