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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Даны векторы AN={ ai }i=1,N и BN={ bi }i=1,N . Найти их скалярное произведение по формуле: http://www.cyberforum.ru/cpp-beginners/thread194588.html
Помогите пожалуйста с задачей: Даны векторы AN={ ai }i=1,N и BN={ bi }i=1,N . Найти их скалярное произведение по формуле:
C++ нужен совет Proff С чего начать программирования С++ ? Какие книжки рекомендуете ?(если не лень укажите авторы). http://www.cyberforum.ru/cpp-beginners/thread194577.html
Найти все палиндромы в диапазоне от n до m, которые при возведении в квадрат также дают палиндром C++
програма Найти все числа палиндромы в диапазоне от n до m которые при возведении в квадрат так же дают палиндром. как ее реализировать?
C++ Двумерный массив, заполнение по спирали
помогите в написании Заполнить элементами таблицу, располагая их по спирали.
C++ 6ти значный числа сума первых 3х эл равна суме 3х последних http://www.cyberforum.ru/cpp-beginners/thread194555.html
помогите с программой Вывести список шестизначных "счастливых" чисел (сумма первых трёх цифр равна сумме трёх последних), кратных семи в 10 колонок
C++ Сколько различных ожерелий можно составить из 2-ух белых, 2-ух синих и 2-ух красных бусин? Доброго времени суток помогите написать программу Сколько различных ожерелий можно составить из 2-ух белых, 2-ух синих и 2-ух красных бусин. Напечатать возможные варианты и их кол-во. подробнее

Показать сообщение отдельно
kuzya_vl
1 / 1 / 0
Регистрация: 30.10.2009
Сообщений: 9

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

21.11.2010, 09:50. Просмотров 486. Ответов 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];
}
При большой таблице и большим количеством выборок время выполнения стремиться к бесконечности !!!
Помогите реализовать построение двумерной таблицы!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru