Форум программистов, компьютерный форум CyberForum.ru

Реализация стека в динамическом массиве - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 30, средняя оценка - 4.63
gudzon
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 7
13.04.2011, 23:59     Реализация стека в динамическом массиве #1
Условие такое:
Разработать шаблон класса для работы со стеком, реализованным в динамическом массиве. Для разрабатываемого шаблона обязательно определите:
a. конструктор по умолчанию;
b. конструктор копирования;
c. деструктор;
d. оператор присваивания;
e. вставку элемента в стек ;
f. удаление элемента из стека ;
g. просмотр элемента в вершине стека без его удаления,
h. просмотр всех элементов, находящихся в стеке.
i. Пользовательский тип – железнодорожный вагон. На станцию подается состав из красных и зеленых вагонов. Они перемешаны. Используя шаблон переформировать его на состав, в котором чередуются вагоны разного цвета.

Тестирование шаблона контейнерного класса выполнить
• для встроенных типов int и char*,
• для пользовательского типа.

Шаблонный класс должен обрабатывать исключения.
Помогите для начала хотя бы разобраться, как реализуется стек в динамическом массиве, а то чет совсем не могу въехать с чего даже начинать... может у кого есть код похожей проги работающей с таким стеком...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.04.2011, 23:59     Реализация стека в динамическом массиве
Посмотрите здесь:

C++ Реализация стека
Реализация стека C++
C++ Не могу найти ошибку с подсчетом суммы элементов в интервале[a,b] в динамическом одномерном массиве массиве.
C++ Реализация стека на массиве и динамическом распределении памяти
реализация стека C++
C++ Разработать программу, реализующую алгоритм стека (20 элементов). Задача решается в двух вариантах: статическом и динамическом
Реализация стека C++
Реализация стека C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
asics
Freelance
Эксперт C++
 Аватар для asics
2838 / 1775 / 144
Регистрация: 09.09.2010
Сообщений: 3,842
14.04.2011, 00:05     Реализация стека в динамическом массиве #2
gudzon, Списки, стеки, очереди
gudzon
0 / 0 / 0
Регистрация: 07.03.2011
Сообщений: 7
14.04.2011, 19:56  [ТС]     Реализация стека в динамическом массиве #3
Ну, я так понял, что мне надо сделать шаблон класса, полями в котором будут обычный динамический массив и индекс массива, в котором находится вершина стека. Вот написал небольшую часть программы, пока только с конструкторами и деструкторами:
C++
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
#include <cstdio>
#include <stdlib.h>
template <class Type> class stack {
    int top, size;
    Type *s;
public:
    stack(int asize = 10): top(0) {
        size = asize;
        s = new Type[size];
    }
    stack( const stack & obj ) {
        size = obj.size;
        s = new Type[size];
        for (int i = 0; i < size; i++)
            s[i] = obj.s[i];
        top = obj.top;
    }
    ~stack(){
        delete [] s;
    }
    void push(Type var){
        top++;
        s[top] = var;
    }
    Type pop(){
        Type var = s[top];
        top--;
        return var;
    }
    int GetSize() {return size;}
    int GetTop() {return top;}
};
int main(){
    stack<int> stack(9);
    for (int i = 0; i < stack.GetSize(); ++i)
        stack.push(i);
    for (int i = 0; i < 9; ++i)
        printf("%d ", stack.pop());
    system("PAUSE");
}
Помогите разобраться, почему в самом конце при освобождении памяти в деструкторе вылазит Debug Error.

Добавлено через 1 час 57 минут
Всё, уже разобрался.
Yandex
Объявления
14.04.2011, 19:56     Реализация стека в динамическом массиве
Ответ Создать тему
Опции темы

Текущее время: 02:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru