Я новичок в C ++ (я обычно использую Java) и пытаюсь создать k-ary кучу. Я хочу вставить значения из файла в кучу;однако, я в недоумении с кодом для вещей, которые я хочу сделать.
Я хотел использовать .nextLine
и .hasNextLine
, как в Java со сканером, но я не уверен, что они применимы к C ++. Кроме того, в файле элементы перечислены следующим образом: "IN 890"
, "IN 9228"
, "EX"
, "IN 847"
и т. Д. Часть "IN"
подсказывает мне вставить, а часть "EX"
предназначена для моего extract_min. Я не знаю, как разделить строку и целое число в C ++, поэтому я могу вставить только число.
int main(){
BinaryMinHeap h;
string str ("IN");
string str ("EX");
int sum = 0;
int x;
ifstream inFile;
inFile.open("test.txt");
if (!inFile) {
cout << "Unable to open file";
exit(1); // terminate with error
}
while (inFile >> x) {
sum = sum + x;
if(str.find(nextLin) == true //if "IN" is in line)
{
h.insertKey(nextLin); //insert the number
}
else //if "EX" is in line perform extract min
}
inFile.close();
cout << "Sum = " << sum << endl;
}
Результат должен просто добавить число в кучу или извлечь минимум.