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

Реализация двумерной таблицы - C++

Восстановить пароль Регистрация
 
kuzya_vl
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 9
21.11.2010, 09:50     Реализация двумерной таблицы #1
Помогите реализовать двумерную таблицу с возможностью вставки/удаления строк/столбцов и возможностью произвольного доступа к элементам таблицы.
Главный критерий - скорость операций.
Необходимый набор функций:
InsertCol(nCol);
InsertRow(nRow);
DeleteCol(nCol);
DeleteRow(nRow);
Get(nRow, nCol);
Set(nRow, nCol);
Первое что пришло в голову.
C++
1
2
3
4
5
6
7
// строка таблицы, умеет добавлять/удалять элементы внутри себя
template <class T> class col
{
      T  *data;      // массив элементов в строке
}
// массив строк
std::list<col*>   row;
Для вставки/удаления данная конструкция очень подходит!
А вот для произвольного доступа не очень!
C++
1
2
3
4
5
6
7
T Get(nRow, nCol)
{
   std::list<col*>::iterator = row.begin();
   while (nRow--)     // !!!!!
      it++;               // !!!!!
   return (*it)->data[nCol];
}
При большой таблице и большим количеством выборок время выполнения стремиться к бесконечности !!!
Помогите реализовать построение двумерной таблицы!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2010, 09:50     Реализация двумерной таблицы
Посмотрите здесь:

C++ Функции и модули двумерной матрицы
C++ Составить программу для подсчёта суммы чётных элементов двумерной таблицы А размером m×n. Использовать динамический массив.
Волновой алгоритм для двумерной матрицы C++
Округление значений в двумерной динамической матрице C++
Посчитать сумму четных элементов двумерной матрицы C++
C++ Градиент двумерной функции
C++ Преобразование двумерной матрицы

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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