At Sunday 5/4/2008 01:42 AM, you wrote:
>~Rick wrote:
> > Hi all,
> >
> > I currently call qsort to sort an array of structures. It works fine,
> > but I would like to sort multiple fields. Can this be done? Is there
> > another, or better, sort available to do this? Do I somehow do this
> > in my compareEntry routine?
> >
> > Here is the call I am using currently: qsort(linedata, (bufcnt - 1),
> > sizeof(ENTRY), compareEntry);
> >
> > linedata is an array of (ENTRY) structures, bufcnt-1 is the number of
> > structures to sort.
> >
> >
> > ~Rick
>
>If field 1 is identical, then fall through to field 2.  If field 2 is
>identical, then fall through to field 3.  And so on, for all the fields
>you want to sort on.  The value you return from the comparison function
>tells whether the first ENTRY structure is less than, equal, or greater
>than the second ENTRY structure.

Thank you for the reply, Thomas. But I'm still a bit unclear how to proceed.

My comparison function is called directly by qsort, so I don't get to 
see the results (although I guess I could assign a value to a variable).
Where do I check the value(s) for the secondary fields, within the 
compare function or after qsort returns? If I check after qsort 
returns, do I call qsort again with a field offset somehow?

Thanks,

~Rick




>--
>Thomas Hruska
>CubicleSoft President
>Ph: 517-803-4197
>
>*NEW* MyTaskFocus 1.1
>Get on task.  Stay on task.
>
>http://www.CubicleSoft.com/MyTaskFocus/
>
>
>------------------------------------
>
>To unsubscribe, send a blank message to 
><mailto:[EMAIL PROTECTED]>.Yahoo! Groups Links
>
>
>

Reply via email to