Проблема с динамическим массивами
Мне нужно сделать динамический массив.
У меня возникла такая проблема:
Когда я пытаюсь удалить какой-нибудь элемент, он (вроде бы) удаляется но предыдущие и следующий элементы остаются связаны с ним. Как это исправить?
Или подскажите как лучше организовать этот массив.
Структуры:
Class CBot
{
struct bt
{
bt *prev,*next;
//Переменые ……………
}typedef bt;
struct sbots
{
bt *first,*end;
bt *bot;
};
sbots bots;
}
CBot cbot;
Функция удаления
void CBot::DelBot(bt *b)
{
if (b==bots.first)
{
bots.first=b->next;
b->next->prev=b->next;
}
else
if (b==bots.end)
{
bots.end=b->prev;
b->prev->next=NULL;
}
else
{
b->prev->next=b->next;
b->next->prev=b->prev;
}
delete b;
}
////////////////////////////////////////////
Вызываю функцию:
cbot.bots.bot =cbot.bots.first;
while (cbot.bots.bot!=NULL)
{
DelBot(cbot.bots.bot);
cbot.bots.bot =cbot.bots.bot->next;
}
А не проще ли использовать vector из STL ?
Цитата:
Originally posted by Green
А не проще ли использовать vector из STL ?
А не проще ли использовать vector из STL ?
2 Green:Редкий BCB'шник знает о наличии Standart Template Library=))
2 ionn: Слушай что тебе дядьки большие да добрые говорят - Юзай STL.
Цитата:
Originally posted by moonmike
2 Green:Редкий BCB'шник знает о наличии Standart Template Library=))
2 ionn: Слушай что тебе дядьки большие да добрые говорят - Юзай STL.
2 Green:Редкий BCB'шник знает о наличии Standart Template Library=))
2 ionn: Слушай что тебе дядьки большие да добрые говорят - Юзай STL.
Что за vector?
Напишите примерчик использования, пожалуйста.
Цитата:
Originally posted by ionn
Что за vector?
Напишите примерчик использования, пожалуйста.
Что за vector?
Напишите примерчик использования, пожалуйста.
#include <vector>
using namespace std; // Заголовок и пространство
...
vector<int> vec;
for(int i=0;i<10;i++) {
vec.push_back(i); // Затолкать в вектор 10 чисел
}
for(int i=0;i<10;i++) {
cout << vec << endl; // Дальше как с обычным
// массивом
}
// Размер вектора, т.е. сколько там уже есть :)
cout << vec.size();
На самом деле, STL - тема достаточно обширная, так что только примером не обойтись. Лучше, конечно, поизучать евонный исходник, много интересного. :)