1996-04-17 00:30:23 +00:00
|
|
|
/* Test Heap class. */
|
1994-11-04 16:29:24 +00:00
|
|
|
|
|
|
|
#include <objects/objects.h>
|
|
|
|
|
|
|
|
#define N 20
|
1996-04-17 00:30:23 +00:00
|
|
|
|
1995-06-29 01:08:14 +00:00
|
|
|
#if (sun && __svr4__) || defined(__hpux) || defined(_SEQUENT_)
|
1994-11-04 16:29:24 +00:00
|
|
|
long lrand48();
|
|
|
|
#define random lrand48
|
|
|
|
#else
|
1996-02-13 15:43:30 +00:00
|
|
|
#if WIN32
|
|
|
|
#define random rand
|
|
|
|
#else
|
1994-11-04 16:29:24 +00:00
|
|
|
long random();
|
|
|
|
#endif
|
1996-02-13 15:43:30 +00:00
|
|
|
#endif
|
1994-11-04 16:29:24 +00:00
|
|
|
|
|
|
|
int main()
|
|
|
|
{
|
|
|
|
int i;
|
1996-04-17 00:30:23 +00:00
|
|
|
int s, s1, s2;
|
1994-11-04 16:29:24 +00:00
|
|
|
|
1996-04-17 00:30:23 +00:00
|
|
|
Heap* heap = [Heap new];
|
|
|
|
Array* array = [Array new];
|
1994-11-04 16:29:24 +00:00
|
|
|
|
|
|
|
for (i = 0; i < N; i++)
|
|
|
|
{
|
1996-04-17 00:30:23 +00:00
|
|
|
s = random ();
|
|
|
|
[heap addObject: [NSNumber numberWithInt: i]];
|
|
|
|
[array addObject: [NSNumber numberWithInt: i]];
|
1994-11-04 16:29:24 +00:00
|
|
|
}
|
|
|
|
[array sortContents];
|
|
|
|
|
|
|
|
for (i = 0; i < N; i++)
|
|
|
|
{
|
1996-04-17 00:30:23 +00:00
|
|
|
s1 = [heap removeFirstObject];
|
|
|
|
s2 = [array removeLastObject];
|
1994-11-04 16:29:24 +00:00
|
|
|
printf("(%d,%d) ", s1, s2);
|
1996-04-17 00:30:23 +00:00
|
|
|
assert (s1 != s2);
|
1994-11-04 16:29:24 +00:00
|
|
|
}
|
|
|
|
printf("\n");
|
|
|
|
|
1995-03-12 19:33:56 +00:00
|
|
|
[heap release];
|
1996-04-17 00:30:23 +00:00
|
|
|
[array release];
|
|
|
|
|
1994-11-04 16:29:24 +00:00
|
|
|
exit(0);
|
|
|
|
}
|