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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 46, средняя оценка - 4.65
nickson91
0 / 0 / 0
Регистрация: 24.11.2009
Сообщений: 15
#1

Полный дек - C++

15.12.2009, 18:04. Просмотров 6443. Ответов 7
Метки нет (Все метки)

Добрый день! мучаюсь с задачей - реализовать тип и функции (инициализация,добавление\извлечение элементов с обеих сторон,проверка на пустоту) для реализации полного дека в связной памяти на чистом Си.
единственное, что удалось узнать у преподавателя это то,что полный дек нужно создавать на основе двусвязного списка. Подскажите пожалуйста материалы и примеры на эту тему. хочется разобраться а не тупо списывать из интернета,а ни одного похожего примера с объяснением пока не нашел
Заранее спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.12.2009, 18:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Полный дек (C++):

дек - C++
как сделать такую вещь? реализовать и протестировать контейнерный класс динамической структуры данных такой как дек. класс должен иметь...

Шаблонный дек - C++
Задача реализовать шаблонный класс дека, и класс Итератора для навигации по деку. До добавления шаблонов все хорошо работало. Ныне такие...

Дек символов - C++
Доброго времени суток всем. У меня такая проблема: есть задача - Реализовать класс "Дек символов" (на базе списка). Реализовать...

Очередь и дек С++ - C++
Ребят, помогите пожалуйста сделать небольшую программу, ну просто горит(((. :wall: Разработать программу на С++, для реализации основных...

Дек-шаблон - C++
Доброй ночи. У меня вопрос. Я хочу реализовать дек, а потом на его основе сделать шаблон. В деке могут храниться как числа, так и...

Простой дек - C++
Всем доброго вечера Столкнулся со следующей проблемой. Есть задание на простой дек: Реализуйте структуру данных "дек". Напишите...

7
Vladimir.
158 / 158 / 10
Регистрация: 24.11.2009
Сообщений: 375
15.12.2009, 18:29 #2
Что именно не понятно??
1 - Что такое дек?
2 - Что такое двусвязный список?
3 - Как оно должно работать?
4 - Как это закодить?
5 - Вообще ничего не понятно!!!
0
nickson91
0 / 0 / 0
Регистрация: 24.11.2009
Сообщений: 15
15.12.2009, 18:34  [ТС] #3
3, 4 )
0
Vladimir.
158 / 158 / 10
Регистрация: 24.11.2009
Сообщений: 375
15.12.2009, 20:20 #4
3:
пример использования дека юзер - пользователь либо кусок кода (например, майн), дек - дек.
дек: пусто
юзер: добавить слева "раз"
дек: раз
юзер: добавить слева "два"
дек: два раз
юзер: добавить слева "три"
дек: три два раз
юзер: добавить справа "пять"
дек: три два раз пять
юзер: взять слева
дек: два раз пять
юзер взять справа
дек: два раз
юзер: очистить дек
дек: пусто

4:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#define TYPE some_user_type_of_data
class Deq
{
public:
    void push_left(TYPE data);
    void push_right(TYPE data);
    void pop_left(TYPE* data);
    void pop_right(TYPE* data);
    void clear();
    bool is_empty();
private:
      Node* head;//left
      Node* tail;//right
/* методы необходимые для организации двусвязного списка */
};
так же понадобиться
C++
1
2
3
4
5
6
struct Node
{
TYPE data;
Node* prior;
Node* next;
};
в общих чертах так..
1
nickson91
0 / 0 / 0
Регистрация: 24.11.2009
Сообщений: 15
15.12.2009, 21:33  [ТС] #5
Vladimir, спасибо, но нужен код на C а не С++ к сожалению
0
Vladimir.
158 / 158 / 10
Регистрация: 24.11.2009
Сообщений: 375
15.12.2009, 23:12 #6
использовать вместо класса структуру разве нельзя??
0
nickson91
0 / 0 / 0
Регистрация: 24.11.2009
Сообщений: 15
18.12.2009, 11:26  [ТС] #7
С этой задачей разобрался,написал на С. Теперь надо то же самое написать на С++,используя класс. Как я понимаю, нужно в тексте программы на С поменять printf и scanf на cout/cin, malloc и free на new/delete , ну и использовать собственно класс,описанный выше. Но еще было сказано использовать копирующий конструктор и перегрузить все операции. Подскажите, как это сделать применимо к данной конкретной программе?
0
Aye Aye
369 / 283 / 36
Регистрация: 17.12.2009
Сообщений: 567
18.12.2009, 12:35 #8
C++
1
2
3
4
5
6
class MyClass{
        private:
                  Sometype info;
        public:
                  MyClass(const MyClass &M):info(M.info){} // копирующий конструктор
};
и не забудь о
C++
1
2
#include <iostream> 
using namespace std;
для cout и cin.
1
18.12.2009, 12:35
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.12.2009, 12:35
Привет! Вот еще темы с ответами:

Простой дек - C++
Помогите решить задачу : Реализуйте структуру данных &quot;дек&quot;. Напишите программу, содержащую описание дека и моделирующую работу дека,...

Дек,заполение с конца - C++
Помогите плз написать функцию для заполнения дека с конца с клавиатуры и если можно с файла,если у нас есть: struct shop { int...

Дек и удаление элемента - C++
Создать список из целых чисел. Найти минимальный элемент и удалить из списка все элементы, равные минимальному. #include &lt;iostream&gt; ...

Дек в виде массива - C++
Подскажите как реализовать дек в виде массива.


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.