#include "Utility.h" #include #include #include const int32 kBlockSize = 1024; int32 gNumber = 100000; BList gList; BlockArray gArray(kBlockSize); void dumpArray() { printf(" items in array: %ld\n",gArray.CountItems()); printf(" blocks used: %ld\n",gArray.BlocksUsed()); printf(" size: %ld\n",gArray.Size()); } int main(int argc,char **argv) { srand(42); // insert numbers in the array for (int32 i = 0;i < gNumber;i++) { int32 num = rand(); if (num == 0) num++; if (gArray.Insert(num) == B_OK) gList.AddItem((void *)num); else if (gArray.Find(num) < 0) { printf("Could not insert entry in array, but it's not in there either...\n"); dumpArray(); } else printf("hola\n"); } // check for numbers in the array for (int32 i = 0;i < gNumber;i++) { int32 num = (int32)gList.ItemAt(i); if (gArray.Find(num) < 0) { printf("could not found entry %ld in array!\n",num); dumpArray(); } } // iterate through the array sorted_array *array = gArray.Array(); for (int32 i = 0;i < array->count;i++) { if (!gList.HasItem((void *)array->values[i])) { printf("Could not find entry %lld at %ld in list!\n",array->values[i],i); dumpArray(); } } return 0; }