#include<iostream>
using namespace std;
int stack_base[ 100 ];
int max_value[ 100 ];
int *stack_top;
int *value_top;
void push( int v ) {
if( stack_top >= stack_base + 100 ) {
cout << "栈满鸟~~" << endl;
return;
}
( * stack_top ) = v;
stack_top ++;
if( value_top == max_value ) {
(* value_top ) = v;
value_top ++;
}
else {
( *value_top ) = v;
if( ( *( value_top - 1 ) ) < ( * value_top ) ) {
( *( value_top - 1 ) ) = ( * value_top );
}
}
}
int pop( ){
if( stack_top == stack_base ) {
cout << "木有元素鸟~~~" << endl;
return -1;
}
stack_top --;
value_top --;
return *( stack_top );
}
int get_max( ) {
if( stack_top == stack_base ) {
cout << "木有最大元素鸟~~~" << endl;
return -1;
}
return * ( value_top );
}
void main() {
stack_top = stack_base;
value_top = max_value;
int i;
for( i = 0 ; i < 10 ; i ++ ) {
push( rand() % 100 );
}
}
o(1)入栈、出栈、找最大值
最新推荐文章于 2022-02-01 21:33:14 发布