Форум программистов, компьютерный форум, киберфорум
Наши страницы

Статический и динамический стек - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ присвоения константе http://www.cyberforum.ru/cpp-beginners/thread767116.html
Допустим у нас есть класс: class Class{ public: Class(int = 5); private: const int n; }; Class::Class(int _n) {
C++ Целое значение близкое к 7 000 000 000 Здраствуйте, нашел так называемый проект ейлер с задачами для ищущих=) В общем задача найти самый большой простой делитель числа. Алгоритм работает на малых числах но когда ввожу 600851475143 ,... http://www.cyberforum.ru/cpp-beginners/thread767114.html
Результат atoi C++
привет необходимо написать функцию, позволяющую проверить является ли содержимое строки, содержащей только цифры и/или знак + или - на первом месте целым числом. То есть нужно сравнить является...
Комбинаторика, перебор всех сочетаний C++
Предположим есть массив int ar = {0,0,0,0,0,1,1,1} (содержит 0 либо 1, число единиц(нулей) постоянно для всех полученных сочетаний. Длина каждой полученной комбинации фиксирована и ровна SIZE =...
C++ Ошибка в функции http://www.cyberforum.ru/cpp-beginners/thread767085.html
Помогите исправить ошибку мне надо Составить функцию countX, которая, получив c и b через параметры по значению, "а" через глобальную переменную, вычисляет "х" и возвращает его через параметр по...
C++ Определить количество слов, которые содержат ровно четыре буквы "о", "О" Дано строка, состоящая из русских слов, разделенных пробелами (одним или несколькими). Определить количество слов, которые содержат ровно четыре буквы "о". Помогите, вот есть программа, но что то... подробнее

Показать сообщение отдельно
rangerx
1935 / 1544 / 141
Регистрация: 31.05.2009
Сообщений: 2,913
20.01.2013, 18:51
Цитата Сообщение от privit_91 Посмотреть сообщение
Скажите я верно делаю ?
Похоже на то... Но все-таки я посоветовал бы сделать следующим образом:
1) переименовать стрктуру STACK в Node
C++
1
2
3
4
5
struct Node
{ 
    zd_vok info; //поле типа структура
    Node *next; //указатель на след. элемент
};
2) сделать отдельную структуру для представления стека
C++
1
2
3
4
struct Stack 
{
    Node* top; // указатель на вершину стека
};
Таким образом:
1) код станет намного более прозрачным, например
C++
1
2
3
4
5
6
7
8
9
void Add(Stack& stack, const zd_vok& d) // Добавление элементов в стек
{ 
    Node *tmp = new Node;
    
    tmp->info = d;
    tmp->next = stack.top;
    
    stack.top = tmp;
}
2) При создании стека на основе статического массива ничего не нужно будет менять в функции main, все функции для работы со стеком останутся те же, изменится только их реализация.
Цитата Сообщение от privit_91 Посмотреть сообщение
Не могу понять статически (на основе массива структур) вариант как его сделать?
Например, так
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
struct Stack 
{
    zd_vok data[100];
    int size; // количество элементов в стеке(size - 1 соответственно элемент находящийся на вершине стека)
};
 
void Add(Stack& stack, const zd_vok& d) // Добавление элементов в стек
{ 
    // ...сдесь проверка на переполнение...
    // ...
    stack.data[stack.size++] = d;
}
 
// ...
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru