1244d5b90SAxel Dörfler #include "Utility.h" 2244d5b90SAxel Dörfler 3244d5b90SAxel Dörfler #include <List.h> 4244d5b90SAxel Dörfler #include <stdlib.h> 5244d5b90SAxel Dörfler #include <stdio.h> 6244d5b90SAxel Dörfler 7244d5b90SAxel Dörfler 8244d5b90SAxel Dörfler const int32 kBlockSize = 1024; 9244d5b90SAxel Dörfler 10244d5b90SAxel Dörfler int32 gNumber = 100000; 11244d5b90SAxel Dörfler BList gList; 12244d5b90SAxel Dörfler BlockArray gArray(kBlockSize); 13244d5b90SAxel Dörfler 14244d5b90SAxel Dörfler 15244d5b90SAxel Dörfler void dumpArray()16244d5b90SAxel DörflerdumpArray() 17244d5b90SAxel Dörfler { 18244d5b90SAxel Dörfler printf(" items in array: %ld\n",gArray.CountItems()); 19244d5b90SAxel Dörfler printf(" blocks used: %ld\n",gArray.BlocksUsed()); 20244d5b90SAxel Dörfler printf(" size: %ld\n",gArray.Size()); 21244d5b90SAxel Dörfler } 22244d5b90SAxel Dörfler 23244d5b90SAxel Dörfler 24244d5b90SAxel Dörfler int main(int argc,char ** argv)25244d5b90SAxel Dörflermain(int argc,char **argv) 26244d5b90SAxel Dörfler { 27244d5b90SAxel Dörfler srand(42); 28244d5b90SAxel Dörfler 29244d5b90SAxel Dörfler // insert numbers in the array 30244d5b90SAxel Dörfler 31244d5b90SAxel Dörfler for (int32 i = 0;i < gNumber;i++) { 32244d5b90SAxel Dörfler int32 num = rand(); 33244d5b90SAxel Dörfler if (num == 0) 34244d5b90SAxel Dörfler num++; 35244d5b90SAxel Dörfler 36244d5b90SAxel Dörfler if (gArray.Insert(num) == B_OK) 37244d5b90SAxel Dörfler gList.AddItem((void *)num); 38244d5b90SAxel Dörfler else if (gArray.Find(num) < 0) { 39244d5b90SAxel Dörfler printf("Could not insert entry in array, but it's not in there either...\n"); 40244d5b90SAxel Dörfler dumpArray(); 41244d5b90SAxel Dörfler } else 42244d5b90SAxel Dörfler printf("hola\n"); 43244d5b90SAxel Dörfler } 44244d5b90SAxel Dörfler 45244d5b90SAxel Dörfler // check for numbers in the array 46244d5b90SAxel Dörfler 47244d5b90SAxel Dörfler for (int32 i = 0;i < gNumber;i++) { 48244d5b90SAxel Dörfler int32 num = (int32)gList.ItemAt(i); 49244d5b90SAxel Dörfler 50244d5b90SAxel Dörfler if (gArray.Find(num) < 0) { 51244d5b90SAxel Dörfler printf("could not found entry %ld in array!\n",num); 52244d5b90SAxel Dörfler dumpArray(); 53244d5b90SAxel Dörfler } 54244d5b90SAxel Dörfler } 55244d5b90SAxel Dörfler 56244d5b90SAxel Dörfler // iterate through the array 57244d5b90SAxel Dörfler 58244d5b90SAxel Dörfler sorted_array *array = gArray.Array(); 59244d5b90SAxel Dörfler for (int32 i = 0;i < array->count;i++) { 60244d5b90SAxel Dörfler if (!gList.HasItem((void *)array->values[i])) { 61*425ac1b6SAlexander von Gluck IV printf("Could not find entry %lld at %ld in list!\n",array->values[i],i); 62244d5b90SAxel Dörfler dumpArray(); 63244d5b90SAxel Dörfler } 64244d5b90SAxel Dörfler } 65244d5b90SAxel Dörfler return 0; 66244d5b90SAxel Dörfler } 67