1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
| /*================================================================ * 创建日期:2018年07月26日 * 描 述: * ================================================================*/
#include <iostream> #include "cstdio" using namespace std; typedef int ElemType; #define MAXSIZE 100
struct sStack{ ElemType data[MAXSIZE]; int top; }; typedef struct sStack seqStack;
void initial(seqStack &s){ s.top = -1; } bool empty(seqStack &s){ if(s.top == -1) return true; else return false; }
ElemType top(seqStack S){ if(empty(S)) return -1; else return S.data[S.top]; }
bool full(seqStack S){ if(S.top == MAXSIZE - 1) return true; else return false; } bool push(seqStack &S,ElemType x){ if(full(S)) return false; else{ S.top++; S.data[S.top] = x; return true; } }
ElemType pop(seqStack &S){ if(empty(S)) return -1; else return S.data[S.top--]; } ElemType getBottomElemType(seqStack &S){ if(empty(S)) return -1; int x = -2; while(!empty(S)){ x = S.data[S.top--]; } return x; } void print(seqStack &S){ while(empty(S)){ cout<<pop(S)<<" "; } cout<<endl; } int main() { int n =0; ElemType temp=0;
seqStack fuck_s; initial(fuck_s); int test[3]={0}; cin>>n; for(int i=0;i<n;i++){ cin>>test[i]; } int i = 0;
if(empty(fuck_s)) push(fuck_s,test[i++]); cout<<top(fuck_s)<<endl; cout<<"----------\n"; for(int i=1;i<n;i++) { if(top(fuck_s)>test[i]){ pop(fuck_s); push(fuck_s,test[i]);
cout<<"i-->"<<i<<" "<<test[i]<<endl; } else push(fuck_s,test[i]);
} cout<<"========\n"; while(!empty(fuck_s)){ cout<<pop(fuck_s)<<"\n"; }
// ElemType test[10]={2,3,7}; // ElemType temp; // seqStack fuck_s; // initial(fuck_s); // int i = 0; // int n = 0; // for(i = 0; i<3;i++) // push(fuck_s,test[i]); // // //push(fuck_s,2); // cout<<"输入整数n: "; // cin>>temp; // while(!empty(fuck_s)){ // if(top(fuck_s)>temp){ // pop(fuck_s); // if(empty(fuck_s)){ // push(fuck_s,temp); // break; // } // } // else{ // push(fuck_s,temp); // break; // } // //cout<<pop(fuck_s)<<endl; // } //// while(!empty(fuck_s)){ //// cout<<pop(fuck_s)<<"\n"; //// } // cout<<endl; // //print(fuck_s); // //cout<<top(fuck_s)<<endl; return 0; }
|