crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в [Решено]Реализация хранения и показа строк в excel
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
kwisp Дата 13.9.2010, 17:33
 
Цитата(Cergey @ 13.9.2010, 18:16) *
Да эт знаю. Вопрос в том как указатели на пустые хранятся, находятся.

так по-подробнее пожалуйста.
что именно знаете про хеш, разреженные массивы и матрицы?

П.С.
а то чувствую тему в юмор переносить скоро надо будет.
Cergey Дата 13.9.2010, 17:16
  Да эт знаю. Вопрос в том как указатели на пустые хранятся, находятся.
Влад Дата 13.9.2010, 11:59
  Основная идея уже изложена. Для подобных приложений характерна структура данных "разреженный массив" (или "разреженная матрица") - т.е. реально хранятся только непустые ячейки.
Cergey Дата 12.9.2010, 17:44
  BRE, меп может и на это прерод намекал.
Один ответ есть СПС

А еще идеи??? :p
BRE Дата 12.9.2010, 16:47
  Хм. С точки зрения расхода памяти, лучше не создавать в памяти "таблицу" 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 считаются пустыми.

Cergey Дата 12.9.2010, 16:17
  А я про хеш-функцию. Прочитай на верху...

МОДЕРАТОРЫ НА ВАС НАДЕЮСЬ :rolleyes:
Алексей1153 Дата 12.9.2010, 16:06
  при чём тут хеш (hash) , я про КЕШ (cash) говорю :)
Cergey Дата 12.9.2010, 14:32
  Нее. Это для универа (струкруры данных). Тама что-то сложнее, а что не найду.
Пример был с хеш-функцией для вычисления конк. ячейки. Но тама что-то сложнее...
А что не найду........

Точнее для вычисления указателя для конк. ячейки.
Алексей1153 Дата 12.9.2010, 10:47
  Cergey,
1) можно хранить таблицу нулевых указателей, а память выделять тогда, когда потребовалось хранить данные ячейки
2) если скорость не критична, а с озу негусто, можно применить кеш
BRE Дата 12.9.2010, 8:19
 
Цитата(Cergey @ 12.9.2010, 8:50) *
Я про, то как хранятся в приложении пустые ячейки. 65000*256- как-то оптимизировать же надо???

Дык, а я про что. :)
Они не как не хранятся в приложении, хранятся только заполненные.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 5.7.2025, 3:53