设计一个栈,设计一个max()函数,求当前栈中的最大元素
#include <iostream>
using namespace std;
#define MAXSIZE 256
typedef struct stack
{
int top;
int stack[MAXSIZE];
}Stack;
void initStack(Stack *s)
{
s->top=0;
} void push(Stack *s,int elem)
{
if(s->top>MAXSIZE)
cout<<"stack is full"<<endl;
s->top++;
s->stack[s->top]=elem;
}
void pop(Stack *s)
{
if(s->top<=0)
cout<<"stack is empty"<<endl;
s->top--;
}
int max(Stack s)
{
int maxNum;
int temp;
maxNum=s.stack[s.top];
s.top--;
cout<<maxNum<<endl;
while(s.top>0)
{
temp=s.stack[s.top];
cout<<temp<<endl;
if(temp>maxNum)
maxNum=temp;
pop(&s);
}
return maxNum;
} int main()
{
Stack s;
int arr[]={3,6,1,8,12,5,9,21};
initStack(&s); //初始化栈
for(int i=0;i<8;i++) //入栈
{
push(&s,arr[i]);
}
cout<<"当前栈中最大元素为:"<<max(s)<<endl;
return 0;
}

设计一个栈,设计一个max()函数,求当前栈中的最大元素的更多相关文章
- map() 方法创建一个新数组,其结果是该数组中的每个元素都调用一个提供的函数后返回的结果。
		var numbers = [1, 4, 9]; var roots = numbers.map(Math.sqrt); // roots的值为[1, 2, 3], numbers的值仍为[1, 4, ... 
- 下面findmax函数将计算数组中的最大元素及其下标值,请编写该函数。
		#include <stdio.h> void findmax ( int s[ ], int t, int *k ) { int i; *k = ; ; i < t; i++) { ... 
- c宏的MAX函数
		今天从香山上面回来累的跟傻逼一样,回来问了一下胡总的阿里面试的问题.然后其中有一个是宏写max函数.胡总说不好写,然后我就去洗澡了. 洗澡的时候感觉不对啊,回来写了一个: #define MAX(a, ... 
- SQL MAX() 函数
		MAX() 函数 MAX 函数返回一列中的最大值.NULL 值不包括在计算中. SQL MAX() 语法 SELECT MAX(column_name) FROM table_name 注释:MIN ... 
- 29.MAX() 函数
		MAX() 函数 MAX 函数返回一列中的最大值.NULL 值不包括在计算中. SQL MAX() 语法 SELECT MAX(column_name) FROM table_name 注释:MIN ... 
- SQLServer之MAX() 函数
		MAX() 函数 MAX 函数返回一列中的最大值.NULL 值不包括在计算中. SQL MAX() 语法 SELECT MAX(column_name) FROM table_name 注释:MIN ... 
- SQL-W3School-函数:SQL MAX() 函数
		ylbtech-SQL-W3School-函数:SQL MAX() 函数 1.返回顶部 1. MAX() 函数 MAX 函数返回一列中的最大值.NULL 值不包括在计算中. SQL MAX() 语法 ... 
- 【老鸟学算法】包含 min函数的栈设计——java实现
		要求: 1. 定义栈的数据结构,要求添加一个 min函数,能够得到栈的最小元素. 2. 要求函数 min.push 以及 pop 的时间复杂度都是 O(1). 这是考验“栈”数据结构设计.众所周知,栈 ... 
- YTU 2706: 编写一个函数求最大的n值
		2706: 编写一个函数求最大的n 值. 时间限制: 1 Sec 内存限制: 128 MB 提交: 341 解决: 132 题目描述 编写一个函数求满足以下条件的最大的n.:12+22+32+-+ ... 
随机推荐
- Virtualbox中win7虚拟机中U盘不可用问题的解决
			Virtualbox版本是5.0.0,主机运行多是Ubuntu12.04 LTS,虚拟机是Win7 X64.起初Win7正常运行,Virtualbox的增强功能已安装.下面是如何一步一步解决U盘不可用 ... 
- postgresql主从复制
			本文章以rpm包方式安装,版本为9.3.4 一.postgresql安装 postgresql93-9.3.4-1PGDG.rhel6.x86_64.rpm postgresql93-libs-9.3 ... 
- 解决升级到Xcode10,react native项目运行报错问题
			今天刚升级到Xcode10,就遇到两个报错问题 错误一:Xcode 10: Build input file double-conversion cannot be found error: Buil ... 
- c/c++值传递和引用传递
			今天看数据结构的时候,因为是c语言版的,刚开始学的时候就对指针搞的焦头烂额,今天,发现参数传递的时候,&符号也莫名其妙,搜了一篇好文,转载下来. 一. 函数参数传递机制的基本理论 函数参数传递 ... 
- JavaScript中常用的事件
			.onclick事件 点击事件(onclick并不是js中的方法,onclick只是浏览器提供js的一个dom接口,让js可以操作dom,所以onclick大小写都是没问题的,比如HTML代码就不用区 ... 
- session的三种超时设置
			1. 在web容器中设置(此处以tomcat为例) 在tomcat-5.0.28\conf\web.xml中设置,以下是tomcat 5.0中的默认配置: <!-- ========= ... 
- [BZOJ2117]Crash的旅游计划
			Description 眼看着假期就要到了,Crash由于长期切题而感到无聊了,因此他决定利用这个假期和好友陶陶一起出去旅游. Crash和陶陶所要去的城市里有N (N > 1) 个景点,Cra ... 
- Easy install ryu
			参考:Ubuntu14.04安装Ryu控制器 环境:Ubuntu 14.04 64bit 使用pip安装ryu: // dependencies sudo apt-get install Python ... 
- POJ 1034 The dog task(二分图匹配)
			http://poj.org/problem?id=1034 题意: 猎人和狗一起出去,狗的速度是猎人的两倍,给出猎人的路径坐标,除了这些坐标外,地图上还有一些有趣的点,而我们的狗,就是要尽量去多的有 ... 
- python 堆栈
			class Node: #堆栈链结节点的声明 def __init__(self): self.data= #堆栈数据的声明 self.next=None #堆栈中用来指向下一个节点 top=None ... 
