Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Template, шаблонная ф-ия и Стек 
:(
    Опции темы
Doc_d0s
Дата 7.11.2005, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



дайте шаблонную функцию для сортировки стека по числовым полям, я уже запарился пишу курсак-БД вот преподу нужна сортировка...
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
nikitao
Дата 7.11.2005, 21:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кот-программист
***


Профиль
Группа: Завсегдатай
Сообщений: 1206
Регистрация: 30.8.2005
Где: Спб

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



Doc_d0s
Эм.Может лучше юзать STL.Там тебе и сортировка будет и готовые шаблоны и солиднее это будет выглетдеть.Или так "читирить" нельзя? smile



--------------------
Жизнь - печальная штука.
PM MAIL ICQ Skype GTalk   Вверх
Void
Дата 7.11.2005, 21:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


λcat.lolcat
****


Профиль
Группа: Участник Клуба
Сообщений: 2206
Регистрация: 16.11.2004
Где: Zürich

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



Цитата(Doc_d0s @ 7.11.2005, 22:59)
дайте шаблонную функцию для сортировки стека по числовым полям

Уточняющий вопрос: чем в данном контексте отличается сортировка стека от сортировки последовательности вообще? И что за "числовые поля"?


--------------------
“Coming back to where you started is not the same as never leaving.” — Terry Pratchett
PM MAIL WWW GTalk   Вверх
Neitron
Дата 8.11.2005, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



#include <algorithm>
см. sort(...

Это сообщение отредактировал(а) Neitron - 8.11.2005, 18:16


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Chaos A.D.
Дата 8.11.2005, 18:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 172
Регистрация: 16.1.2005
Где: 09 RUS

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



Вообще, имхо, странная задача, сортировать стек. Тогда это уже и не стек вовсе. Да и у стека по идее итераторы должны быть однонаправленными. По крайней мере, у классической реализации в виде односвязного списка, а не адаптера из STL.
--------------------
Надо смеяться над тем, что тебя мучит, иначе не сохранишь равновесия, иначе мир сведет тебя с ума...Ken Kesey - One Flew Over The Cocoo's Nest
PM MAIL   Вверх
Doc_d0s
Дата 9.11.2005, 13:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


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

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



идея не моя мне надо реализовать, вот и парюсь, а STL нельзя исползоватьsmile
вообщем надо упорядочить его(стек) по возрастанию или по убыванию
--------------------
Админ- это вождь Apache'й :)
PM MAIL ICQ   Вверх
S.A.P.
Дата 9.11.2005, 13:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Doc_d0sЕсли STL не юзаецца, то покажи класс стека...
PM MAIL   Вверх
Neitron
Дата 9.11.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Doc_d0s
И в чем сложность? Самый простой способ упорядочивания по убыванию
Код

vector<int> A;
// Заполняем
...
// Упорядочиваем
for (size_t j = 0; j < A.size(); j++)
        for (size_t k = j+1; k < A.size(); k++)
                if (A[j] > A[k]){
                        int Old = A[j];
                        A[j] = A[k];
                        A[k] = Old;
                }


Это сообщение отредактировал(а) Neitron - 9.11.2005, 15:02


--------------------
Хороший программист никогда ничего не делает хорошо с первого раза. Он понимает важность патчей.
Ⓘ ⓁⒾⓀⒺ ⓂⓄⓏⒾⓁⓁⒶ
PM MAIL   Вверх
Гость_maxim
Дата 9.11.2005, 19:05 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Код

template<class T> class CStack
{
private:
    struct CList
    {
        CList(T data): Value(data) {}
        T Value;
        CList* Previos;
    } *Top;
public:
    CStack(): Top(0) {}
    void Add(T);
    T Pop();
    bool IsFree();
    /* Other methods */
    void Sort();
};

template<class T> void CStack<T>::Sort()
{
    CList* Head=0;
    while (Head!=Top)
    {
        CList* Pointer=Top;
        while (Pointer->Previos!=Head)
        {
            if (Pointer->Value<Pointer->Previos->Value)
            {
                T data=Pointer->Value;
                Pointer->Value=Pointer->Previos->Value;
                Pointer->Previos->Value=data;
            }
            Pointer=Pointer->Previos;
        }
        Head=Pointer;
    }    
}

Вместо T любой числовой тип
ps. Код не проверял, могут быть ошибки
  Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

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

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


 




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


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

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