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

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

Войти
Регистрация
Восстановить пароль
 
kuzya_vl
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 9
#1

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

21.11.2010, 09:50. Просмотров 468. Ответов 0
Метки нет (Все метки)

Помогите реализовать двумерную таблицу с возможностью вставки/удаления строк/столбцов и возможностью произвольного доступа к элементам таблицы.
Главный критерий - скорость операций.
Необходимый набор функций:
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++ Найти минимальные элементы в столбцах двумерной матрицы
C++ Преобразование двумерной матрицы
C++ Диагональ двумерной матрицы
Реализация хеш-таблицы C++
C++ Разработать класс двумерной таблицы

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

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

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