| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 673 人关注过本帖
标题:顺序栈的操作
取消只看楼主 加入收藏
罗文喆
Rank: 1
来 自:哈尔滨
等 级:新手上路
帖 子:7
专家分:0
注 册:2012-10-7
结帖率:0
收藏
 问题点数:0 回复次数:0 
顺序栈的操作
//顺序栈的操作
#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
快速回复:顺序栈的操作
数据加载中...
 
   



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

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