Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //недоделанная программа, которая должна реализовывать очередь, а реализовывает стек
- #include <iostream>
- using namespace std;
- struct elem
- {
- int i;
- elem*next;
- };
- bool pop (elem*h, int&a);
- void push (elem*&h, int a);
- int main ()
- {
- int a;
- elem* str1=0;
- if (!pop(str1, a))
- cout<<"Str is emty!";
- std::cin.sync();
- std::cin.clear();
- std::cin.get();
- return 0;
- }
- bool pop (elem*h, int&a)
- {
- if (h)
- {
- elem* tp = h -> next;
- int t= h -> i;
- delete h;
- h=tp;
- return t;
- }
- return false;
- }
- void push (elem*&h, int a)
- {
- elem*p=new elem;
- p->i=a;
- p->next=h;
- h=p;
- }
- //===========================================
- //===========================================
- //===========================================
- // ВЕРСИЯ 2.0
- // всё ещё не то и не работает
- //недоделанная программа, которая должна реализовывать очередь
- //поменять функцию push
- //НУЖНО БОЛЬШЕ СПАТЬ!!!
- #include <iostream>
- using namespace std;
- //=================================
- struct elem //структура элемента
- {
- int i;
- elem*next;
- };
- //=================================
- bool pop (elem*&h, int&a);
- void push (elem*&h, int a);
- //=================================
- int main ()
- {
- int a,b,c,d;
- elem* str1=0;
- push (str1, 1);
- push (str1, 2);
- push (str1, 3);
- push (str1, 4);
- if (!pop(str1, a))
- cout<<"Str is emty!";
- pop (str1, a);
- pop (str1, b);
- pop (str1, c);
- //pop (str1, d);
- cout<<a<<b<<c;
- std::cin.sync();
- std::cin.clear();
- std::cin.get();
- return 0;
- }
- //=================================
- bool pop (elem*&h, int&a) //извлечение элементов
- //пока указатель элемента не равен 0 разыминовываем его, переходим на указатель след. элемента
- //указатель элемента, после которого следовал указатель 0, обнуляем, сохранив значение его указателя во временном укaзателе
- //разыминовываем временный указатель, возвращаем полученный элемент
- {
- if (h)
- {
- elem* tp = h -> next;
- int t= h -> i;
- delete h;
- h=tp;
- a = t;
- return true;
- }
- return false;
- }
- //=================================
- void push (elem*&h, int a) //добавление элементов
- {
- elem*p=new elem;
- p->i=a;
- p->next=h;
- h=p;
- }
- //=================================
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement