Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- //queue element с ошибкой в названии, медведкова привыкла писать так
- struct QEUE_ELENENT
- {
- char info; //информация
- QEUE_ELENENT* next; //указатель на следующий элемент
- };
- //класс очереди
- class Qeue
- {
- QEUE_ELENENT* head; //указатель на начало нашего списка
- //указатель на конец можно, но мы пишем простейший код на троечку
- public:
- Qeue() : head(NULL){}; //конструктор
- //добавление в конец
- void push(char input)
- {
- QEUE_ELENENT* temp = new QEUE_ELENENT;
- temp->next = NULL;
- temp->info = input;
- if (head == NULL)
- {
- head = temp;
- return;
- }
- if (head->next == NULL)
- {
- head->next = temp;
- return;
- }
- QEUE_ELENENT* t = head;
- while (t->next != NULL)
- {
- t = t->next;
- }
- t->next = temp;
- }
- //удаление первого элемента
- void pop()
- {
- if (head->next == NULL)
- head = NULL;
- else
- head = head->next;
- }
- //вывод всех элементов
- void print()
- {
- QEUE_ELENENT* t = head;
- while (t != NULL)
- {
- cout << t->info << endl;
- t = t->next;
- }
- }
- //в алфавитном ли порядке
- bool alphabetASC()
- {
- QEUE_ELENENT* t = head;
- char prev = t->info;
- while (t != NULL)
- {
- //вывод промежуточных
- //cout << "prev = " << prev << "; t->info = " << t->info << "; \n";
- if (prev > t->info) return false;
- prev = t->info;
- t = t->next;
- }
- return true;
- }
- //пуста ли очередь
- bool empty()
- {
- return head == NULL;
- }
- };
- int main()
- {
- setlocale(0, "rus");
- Qeue* q = new Qeue;
- q->push('a');
- q->push('b');
- q->push('z');
- q->push('d');
- q->print();
- cout << endl << "В алфавитном? (1 - Да, 0 - Нет): " << q->alphabetASC() << endl;
- }
Add Comment
Please, Sign In to add comment