peter:
Thanks Peter... I am looking into the code you written, It is much help full
for me.
peternilsson42 wrote:
>
>> Benjamin Scott-2 wrote:
>> > "ch.a...@..." <ch.a...@...> wrote:
>> > > Hi I am using boost collection class.
>> > >
>> > > I did sorting e.g apply a quick/bubble sort algo ,
>> > > but i want to do sorting using multiple criteria.
>> > > how we can implement using boost.
> <snip>
>> >
>> > I'd recommend a Function Pointer as follows:
>> >
>> > void Sort(int Length, Nodes *ToSort(), Node
>> > **Decider(Node one,Node Two))
>> > {};
>
> Even making some corrections, this is...
>
> Not a good suggestion to someone using C++.
> A bad suggestion to someone using the C++ STL.
> An awful suggestion to someone using the C++ Boost libraries.
>
> Below is an STL sample per my previous reply to the OP...
>
> #include <algorithm>
> #include <iostream>
>
> struct item { std::string s; int i; } array[9] =
> {
> { "C", 1 },
> { "A", 2 },
> { "B", 1 },
> { "B", 2 },
> { "A", 1 },
> { "B", 3 },
> { "C", 2 },
> { "A", 1 },
> { "C", 2 }
> };
>
> bool operator < (const item &lhs, const item &rhs)
> {
> return (lhs.s < rhs.s)
> or (not (rhs.s < lhs.s) and (lhs.i < rhs.i));
> }
>
> std::ostream &cout_item(const item &item)
> {
> return std::cout << item.s << ' ' << item.i << std::endl;
> }
>
> int main()
> {
> std::cout << "Unsorted:\n";
> std::for_each(array, array + 9, cout_item);
>
> std::sort(array, array + 9);
>
> std::cout << "\nSorted:\n";
> std::for_each(array, array + 9, cout_item);
> }
>
> --
> Peter
>
>
>
--
View this message in context:
http://www.nabble.com/how-to-Sort-boost-collection-class-using-multi-sorting-options-criteria-tp24897279p24930637.html
Sent from the C-prog mailing list archive at Nabble.com.