home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
C/C++ User's Journal & Wi…eveloper's Journal Tools
/
C-C__Users_Journal_and_Windows_Developers_Journal_Tools_1997.iso
/
windbase
/
windbase.exe
/
MEMSLCPP.3
/
PQUEUE2.CPP
< prev
next >
Wrap
C/C++ Source or Header
|
1995-11-05
|
3KB
|
85 lines
/***************************************************************************\
** **
** WW WW IIIIIIII NNN NN DDDDDDD BBBBBBB AA SSSSSS EEEEEEEE **
** WW W WW II NNNN NN DD DD BB BB AA AA SS EE **
** WW W WW II NN NN NN DD DD BBBBBBB AAAAAAAA SSSSSS EEEEEE **
** WW W WW II NN NNNN DD DD BB BB AA AA SS EE **
** WWWWW IIIIIIII NN NNN DDDDDDD BBBBBBB AA AA SSSSSS EEEEEEEE **
** **
** SSSSSS OOOOOO FFFFFFFF TTTTTTTT WW WW AA RRRRRRR EEEEEEEE **
** SS OO OO FF TT WW W WW AA AA RR RR EE **
** SSSSS OO OO FFFFF TT WW W WW AAAAAAAA RRRRRRR EEEEEE **
** SS OO OO FF TT WW W WW AA AA RR RR EE **
** SSSSSS OOOOOO FF TT WWWWW AA AA RR RR EEEEEEEE **
** **
********** NOTICE ***********************************************************
** This file contains valuable trade secrets and proprietary **
** assets of Windbase Software Inc. Embodying substantial **
** creative efforts and confidential information. Unauthorized **
** use, copying, decompiling, translating, disclosure or **
** transfer, of any kind, is strictly prohibited. **
** **
** COPYRIGHT (C) 1992, 1993, 1994, 1995. Windbase Software Inc. **
** ALL RIGHTS RESERVED. **
\***************************************************************************/
/*
** PQueue - Non Templates Version
*/
int PriorityF(void *nullitem, char *item1, char *item2)
{
nullitem = nullitem;
return(*item1-*item2);
}
int CompareF(void *nullitem, char *item1, char *item2)
{
nullitem = nullitem;
return(strcmp(item1,item2));
}
void DeleteF(void *nullitem, char *item)
{
nullitem = nullitem;
cout << "Delete: " << item << "\n";
}
main()
{
WBPQueue pqueue(100,0);
char *item;
pqueue.SetPriority(NULL,(int (*)(void *, void *, void *))PriorityF);
pqueue.SetCompare(NULL,(int (*)(void *, void *, void *))CompareF);
pqueue.SetDelete(NULL,(void (*)(void *, void *))DeleteF);
pqueue += "0Item01";
pqueue += "0Item02";
pqueue += "1Item03";
pqueue += "9Item04";
pqueue += "1Item05";
pqueue += "5Item06";
pqueue += "0Item07";
pqueue += "1Item08";
pqueue += "9Item09";
pqueue += "1Item10";
pqueue += "5Item11";
pqueue += "0Item12";
pqueue += "0Item13";
pqueue += "5Item14";
pqueue += "9Item15";
pqueue.Delete("0Item07");
pqueue -= "1Item08";
cout << "GetFirst(): " << (char *) pqueue.GetFirst() << "\n";
cout << "Search(): " << (char *) pqueue.Search("5Item06") << "\n";
while ((item = (char *) pqueue--) != NULL)
cout << "GetItem(): " << item << "\n";
return(0);
}