int main(int argn, char *argc[]) { int n = 1000; unsigned int t = time(0); int value; if (argn > 1) n = atoi(argc[1]); if (argn > 2) t = atoi(argc[2]); srand(t); cout << "writeBinTree " << n << " " << t << endl; BinTree<int> tree; BinTree<int>::Node *node; int i; for (i = 0; i < 30; i++) { do { value = (int) (500.0*rand()/(RAND_MAX+1.0)); node = tree.search(value); } while (node not_eq NULL); node = new BinTree<int>::Node (value); tree.insert(node); } preOrderRec(tree.getRoot(), print_ex); inOrderRec(tree.getRoot(), print_tex); destroyRec(tree.getRoot()); for (i = 0; i < n; i++) { do { value = (int) (n*10.0*rand()/(RAND_MAX+1.0)); node = tree.search(value); } while (node not_eq NULL); node = new BinTree<int>::Node (value); tree.insert(node); } preOrderRec(tree.getRoot(), print_key); destroyRec(tree.getRoot()); }
// --------------------------------------------------------------------------- // addItem() // Takes the Item and addes to the hash table using the movieCode as a key to // hash function approiatly bool Inventory::addItem(Item *item, char movieCode) { BinTree *storageTree = storage[hash(movieCode)]; storageTree->insert(item); return true; }
void buildTree(BinTree& T, ifstream& infile) { string s; for (;;) { infile >> s; cout << s << ' '; if (s == "$$") break; // at end of one line if (infile.eof()) break; // no more lines of data NodeData* ptr = new NodeData(s); // NodeData constructor takes string // would do a setData if there were more than a string bool success = T.insert(ptr); if (!success) delete ptr; // duplicate case, not inserted } }