Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include "pch.h"
- #include <iostream>
- using namespace std;
- struct Stack {
- int inf;
- Stack *Next, *Head;
- };
- void push(int inf, Stack *StackPointer)
- {
- Stack *temp = new Stack;
- temp->inf = inf;
- temp->Next = StackPointer->Head;
- StackPointer->Head = temp;
- }
- void Show(Stack *StackPointer)
- {
- Stack *temp = StackPointer->Head;
- while (temp != NULL)
- {
- cout << temp->inf << " ";
- temp = temp->Next;
- }
- }
- int MaxValue(int pos,Stack *StackPointer)
- {
- Stack *temp = StackPointer->Head;
- int max = StackPointer->Head->inf;
- while (temp != NULL)
- {
- pos++;
- if (temp->inf > max)
- {
- max = temp->inf;
- int pos = 0;
- }
- temp = temp->Next;
- }
- cout << max;
- return pos;
- }
- void pop(Stack *StackPointer)
- {
- while (StackPointer->Head != NULL)
- {
- Stack *temp = StackPointer->Head->Next;
- delete StackPointer->Head;
- StackPointer->Head = temp;
- }
- }
- int main()
- {
- setlocale(LC_ALL, "Russian");
- int n, elem,p;
- cout << "Введите размер стека: ";
- cin >> n;
- Stack *NewStack = new Stack;
- Stack *StackPointer = new Stack;
- StackPointer->Head = NULL;
- NewStack->Head = NULL;
- for (int i = 0; i < n; i++)
- {
- cout << "Введите элемент стека: ";
- cin >> elem;
- push(elem, StackPointer);
- }
- Show(StackPointer);
- cout << endl;
- cout << "максимзн = " << MaxValue(n,StackPointer) << endl;
- Show(NewStack);
- pop(StackPointer);
- pop(NewStack);
- delete NewStack->Head;
- delete NewStack;
- delete StackPointer->Head;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement