Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Простой алгоритм сравнения дат. Сам придумал :) 
:(
    Опции темы
pish_r
Дата 24.4.2003, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Идея следующая-даты записываем в символьную строку в формате:
yyyymmdd
Теперь же только стоит сравнить эти строки, какая строка больше, такая и дата больше.
В С/С++ можно сравнить функцией strcmp или классами строк, например CString у них перегружены методы стравнения.

--------------------
________________-=тУт быЛ pisH_r=-
PM MAIL   Вверх
migo
Дата 7.6.2003, 20:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 7.6.2003

Репутация: нет
Всего: нет



Ага, но сравнивать стринги дольше, чем число, да и переводить дату в стринг накладно.
PM MAIL   Вверх
neutrino
Дата 8.6.2003, 12:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Сравнить даты очень быстро можно, если держать их в записях на ассемблере. Для этого достаточно 32 бит. А потом простым CMP и JE/JNE.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
pish_r
Дата 9.6.2003, 08:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 105
Регистрация: 27.2.2003

Репутация: нет
Всего: нет



Цитата(migo @ 7.6.2003, 12:37)
Ага, но сравнивать стринги дольше, чем число, да и переводить дату в стринг накладно.

Ну я думаю, кончились те времена, когда нужно следить за временем выполнения. Да и "дольше"-понятие растяжимое. Я например, никакой тормознутости не наблюдаю, хотя происходит сравнение дат в немалой базе. Правда пишу на С/С++.
--------------------
________________-=тУт быЛ pisH_r=-
PM MAIL   Вверх
neutrino
Дата 9.6.2003, 13:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Какая разница на чем писать?
Запусти свою прогу 1000000 раз, а потом второй вариант и посмотри какая разница.

Конечно, если скорость не критична, то и алгоритм изобретать не надо.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
Alex101
Дата 13.6.2003, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 891
Регистрация: 8.4.2002
Где: Москва

Репутация: 1
Всего: 10



На асме и стринги сравниваются одной командой, не думаю, что это будет намного дольше, чем 32-битные записи.


--------------------
С уважением, А. Фролов.
PM MAIL ICQ   Вверх
neutrino
Дата 18.6.2003, 12:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Gothic soul
****


Профиль
Группа: Модератор
Сообщений: 3041
Регистрация: 25.3.2002
Где: Верхняя Галилея, Кармиэль

Репутация: нет
Всего: 62



Э.. нет ... если ты имеешь в виду цепочечные команды, то они сравниваются не в пару тактов, а в зависимости от количества символов (CX) и условия (REPE/REPNE). Если ты запустишь дебугер, то увидишь, что твое сравнение строк делается несколько раз. Конечно это быстрее чем писать свой цикл, но тем не менее не так быстро как сравнение двух 32-битных операндов.


--------------------
The truth comes from within ...

Покойся с миром, Vit 
PM MAIL WWW ICQ Skype GTalk   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Алгоритмы"

maxim1000

Форум "Алгоритмы" предназначен для обсуждения вопросов, связанных только с алгоритмами и структурами данных, без привязки к конкретному языку программирования и/или программному продукту.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, maxim1000.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Алгоритмы | Следующая тема »


 




[ Время генерации скрипта: 0.1096 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.