Всем здраствуйте!!!
Наверное мне сюда.
Кто-нибудь знает как хранятся сами ячейки в Excel'e??? 65000 строк и 256 столбцов оперативу посадят. Может тама хеш-функция или указатели на ячейки тока сохр.???
Кто знает прошу подсказать. в гоогле ненашел.
UPD1 Как хранятся в приложении пустые ячейки. 65000*256- как-то оптимизировать же надо???
UPD2 Первый ответ СПС BRE http://www.forum.crossplatform.ru/index.php?s=&showtopic=5563&view=findpost&p=39671
Сам нашел. Всем спасибО!!!
нет, тебе явно не сюда
А вопрос всё равно не понятен - какое то бессвязное излияние междометий
Я про, то как хранятся в приложении пустые ячейки. 65000*256- как-то оптимизировать же надо???
Cergey,
1) можно хранить таблицу нулевых указателей, а память выделять тогда, когда потребовалось хранить данные ячейки
2) если скорость не критична, а с озу негусто, можно применить кеш
Нее. Это для универа (струкруры данных). Тама что-то сложнее, а что не найду.
Пример был с хеш-функцией для вычисления конк. ячейки. Но тама что-то сложнее...
А что не найду........
Точнее для вычисления указателя для конк. ячейки.
при чём тут хеш (hash) , я про КЕШ (cash) говорю
А я про хеш-функцию. Прочитай на верху...
МОДЕРАТОРЫ НА ВАС НАДЕЮСЬ
Хм. С точки зрения расхода памяти, лучше не создавать в памяти "таблицу" 65000*256 указателей на cell, а хранить только те ячейки, в которых установлены данные (можно в хеше, можно в мапе).
Пусть таблица будет хоть 1 000 000 * 1 000 000.
Псевдокод:
QHash<QString, Cell> table;
// Пользователь ввел число 3 в ячеку A1
table[ "A1" ] = Cell( 3 );
// Пользователь ввел строку "Test" в ячеку C12
table[ "C12" ] = Cell( "Test" );
// Все остальные ячеки таблици, которых нет в коллекции table считаются пустыми.
BRE, меп может и на это прерод намекал.
Один ответ есть СПС
А еще идеи???
Основная идея уже изложена. Для подобных приложений характерна структура данных "разреженный массив" (или "разреженная матрица") - т.е. реально хранятся только непустые ячейки.
Да эт знаю. Вопрос в том как указатели на пустые хранятся, находятся.
Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)