好的,这是交易。下面是我的文件中的输入。
3332453:Ryan:77 Easy Street
3324532:Tom:1 Victory Lane
3326854:Gary:69 Sexual Ave
3304357:Susan:11 Straight Road
3343651:Frank:96 Backwards street
我要做的是读取数字,然后是名称,然后是地址,然后将它们存储到BST
. 检查完所有内容后,我认为我的插入工作正常。它正确地将名称和地址插入每个位置,但 key1 始终为 0 或 -955472。以上数字均假设为 7 位数字(电话号码)。以下是我认为迄今为止我最接近的尝试。我不是要求某人只给我代码(尽管它会有所帮助),而是向我解释为什么我的实现不起作用,以及我如何改进它。谢谢你。
ifstream dataFile;
dataFile.open ("/Users/revaes12/Desktop/BinarySearch/BinarySearch/phone.dat.rtf");
for (int counter = 0; counter < 5; counter++)
{
getline(dataFile, tmp, ':');
person[counter].key1 = atoi(tmp.c_str());
getline(dataFile, person[counter].name1,':');
getline(dataFile, person[counter].address1);
PNTree.insert(person[counter].key1, person[counter]);
}
dataFile.close();
insert
调用的原型是“ template <class KeyType, class DataType> bool BST<KeyType, DataType>::insert (KeyType key, DataType data)
”。另外,我知道 atoi 是 C 而不是 C++,但我也尝试了 stringstream,但也失败了!请帮忙!