Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Помогите оптимизировать, объединить 2 функции в одну 
V
    Опции темы
azesmcar
Дата 28.4.2010, 21:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Не совсем понимаю суть вопроса, можно немного прояснить в общих чертах.
что попалось на глаза
Цитата

Конструктор-копирования

такой конструктор копирование не имеет смысла, компилятор сам сгенерирует что-то вроде
Код

Tree::Tree(const Tree &b)
:key(b.key), Trees(b.Trees)
{
}

в чем смысл этой конструкции?
Код

if(root->Trees.size()!=0)
...
return root;

т.е. если список пустой то он ничего нового туда не добавит?
PM   Вверх
toxx
Дата 28.4.2010, 21:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



Цитата

Не совсем понимаю суть вопроса, можно немного прояснить в общих чертах.


Хочу переделать моё n-мерное дерево в стиле Cи(мой 1й пост темы) на дерево в стиле C++.
Попытки предпринял, но мне кажется получилось тоже что у меня и было.

Но пока до конца не понимаю в какую сторону мне делать...


Цитата

в чем смысл этой конструкции?


если количество сыновей у вершины не нулевое функция добавляет вершины...делаю рекурсией эти действия
Код

if(root->Trees.size()!=0)
...
return root;



Это сообщение отредактировал(а) toxx - 28.4.2010, 21:48
PM MAIL   Вверх
azesmcar
Дата 28.4.2010, 21:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(toxx @  28.4.2010,  21:41 Найти цитируемый пост)
Хочу переделать моё n-мерное дерево в стиле Cи(мой 1й пост темы) на дерево в стиле C++.

а где тогда итераторы?


Цитата(toxx @  28.4.2010,  21:41 Найти цитируемый пост)
если количество сыновей у вершины не нулевое функция добавляет вершины...делаю рекурсией эти действия

а если нулевое то ничего не происходит..это нормально? т.е. когда-то, в самом начале оно ведь нулевое?

Добавлено через 54 секунды
Цитата(toxx @  28.4.2010,  21:41 Найти цитируемый пост)
Но пока до конца не понимаю в какую сторону мне делать...

начните с интерфейса, придумайте интерфейс своему классу, реализуйте функции постышки, а потом думайте над их реализацией.
PM   Вверх
toxx
Дата 28.4.2010, 22:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



azesmcar
Цитата

а где тогда итераторы?

На полу-C++... итераторы я не изучал, стараюсь без STL делать(поэтому полу-C++), но мне mes посоветовал без них пока сделать.

т.е. не одна из реализации из этого поста не подходит? =( 
PM MAIL   Вверх
mes
Дата 28.4.2010, 23:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(toxx @  28.4.2010,  21:00 Найти цитируемый пост)
но мне mes посоветовал без них пока сделать.

не посоветовал, а согласился что для начала без них.. Доступ будет тогда осуществляться на прямую к структуре, как и в си стиле,
также  как и гарантом правильности все также программист. Отличие в "полу-С++" будет фактически  лишь в организация кода по классам..

Добавлено через 2 минуты и 50 секунд
Цитата(toxx @  28.4.2010,  20:41 Найти цитируемый пост)
Хочу переделать моё n-мерное дерево в стиле Cи(мой 1й пост темы) на дерево в стиле C++.

я уже писал что без итераторов в С++ стиль не получится, так как с одной стороны нельзя открывать доступ к внутренностям, а с другой мы как то должны передвигаться по ней..

Добавлено через 4 минуты и 59 секунд
Цитата(toxx @  28.4.2010,  21:00 Найти цитируемый пост)
т.е. не одна из реализации и

а чего не получается то ?
для начала (я уже писал) что надо определиться со структурой дерева (в частности одно, дили двух направленное (сои ссылкой на родителя)), определить набор инструкций, т.е. интерфейс взаимодействия.



--------------------
PM MAIL WWW   Вверх
azesmcar
Дата 28.4.2010, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


uploading...
****


Профиль
Группа: Участник Клуба
Сообщений: 6291
Регистрация: 12.11.2004
Где: Армения

Репутация: 81
Всего: 211



Цитата(toxx @  28.4.2010,  22:00 Найти цитируемый пост)
На полу-C++... итераторы я не изучал, стараюсь без STL делать(поэтому полу-C++), но мне mes посоветовал без них пока сделать.

ну сделайте через Java-Style итераторы, типа этого
Код

while (tree.hasNext())
   tree.next();
...

PM   Вверх
toxx
Дата 30.4.2010, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



mes
Цитата

а чего не получается то ?

Я 2й день перечитывал тему, читал посты темы, прикидывал ... и наконец все таки отвечу
1.Я не понимаю как можно в один класс записать всё моё дерево.
2.Подумал и решил, что все таки для моей простенькой задачи шашек попроще применить моё дерево в стиле...
3.Я давно уже определился со структурой дерева и интерфейсом, у меня никак не выходит реализация (1) пункта
Структура данных и интерфейс у меня будет такой
Код

class AI
{
private:
    int rang;// насколько удачный ход для компьютера
    Vector<AI*> ai_Trees;// указатели на следующие игровые ситуации
    point** points;// моё игровое поле
public:
    int ai_move_rating(point**,size_t ); // оценка хода компьютера
    point** ai_copy_swap(point**,size_t ,size_t,size_t ,size_t ); // определение возможных ходов компьютера
    AI* first(int ); // первая вершина, и первый ход человека.
    AI* insert(AI* ); // добавление в дерево возможных ходов.
    void print(AI*,size_t ); // вывод дерева
};

azesmcar
спасибо конечно, но мне до итераторов еще далеко наверно...
идея у меня уже есть, но мешает ей двигаться вот такие вот мелкие проблемы...

Добавлено через 9 минут и 12 секунд
По сути я хочу реализовать вот такую картинку
http://www.valar.ru/gallery/0410/ai.jpg

Это сообщение отредактировал(а) toxx - 30.4.2010, 17:35
PM MAIL   Вверх
mes
Дата 30.4.2010, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(toxx @  30.4.2010,  16:35 Найти цитируемый пост)
Я не понимаю как можно в один класс записать всё моё дерево.

в один никак.. Один класс/структура - ветвь/итератор , другой класс - набор функционала


Цитата(toxx @  30.4.2010,  16:35 Найти цитируемый пост)
Структура данных и интерфейс у меня будет такой

ммм... сейчас немного занят.. но тут есть поле для разворота 
smile



--------------------
PM MAIL WWW   Вверх
toxx
Дата 30.4.2010, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 653
Регистрация: 4.3.2009
Где: НН

Репутация: 2
Всего: 13



mes
Цитата

в один никак.. Один класс/структура - ветвь/итератор , другой класс - набор функционала

ой не дорос я еще до этого...всё таки нужно использовать, что я намудрил своим си- деревом =)

Цитата

ммм... сейчас немного занят.. но тут есть поле для разворота 


эмм, поле для разворота в смысле тема для беседы?=)
PM MAIL   Вверх
mes
Дата 30.4.2010, 18:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


любитель
****


Профиль
Группа: Участник Клуба
Сообщений: 7954
Регистрация: 14.1.2006

Репутация: 144
Всего: 250



Цитата(toxx @  30.4.2010,  17:01 Найти цитируемый пост)
эмм, поле для разворота в смысле тема для беседы?=) 

ага.. терь хоть понятно что Вам требуется..
smile


--------------------
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1211 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.