Помощь с хранением данных в связанном списке - - узел с 3 типами данных
Всем привет. Я был довольно озадачен этой проблемой в течение некоторого времени и исчерпал youtube и google. У меня возникли проблемы с вставкой данных в узел многосвязного списка данных. Я не уверен, дую ли я на указатель или что, но я сильно запутался.
<если я позвоню
inFile1 >> S >> N;
insertnode(head,S,N);
отдельно без цикла он сохраняет данные в связанных списках и распечатывает их (с дополнительным непреднамеренным значением ==> 6.83919 e+025, которое, как я думаю, является адресом ячейки памяти)>
Любая помощь будет очень признательна.
Что я уже пробовал:
#include <iostream> #include <fstream> #include <string> #include <iomanip> #include <cstring> using namespace std; struct node { string element; double weight; node *next; }; void insertnode(node *cp,string,double); void printlist(node *cp); node *head; ifstream inFile1, inFile2; ofstream outFile; int main() { inFile1.open("Element.txt", ios::in); inFile2.open("Formula.txt", ios::in); string S; double N; int i; head = new node; head->element; node *c; c = head; //while(inFile1 >> S) //{ inFile1 >> S >> N; insertnode(head,S,N); inFile1 >> S >> N; insertnode(head,S,N); inFile1 >> S >> N; insertnode(head,S,N); //} printlist(head); inFile1.close(); inFile2.close(); return 0; } node * newnode() { node *t; t = new node; t->element = ""; t->weight = 0; t->next = NULL; return t; } void insertnode(node *cp, string S, double N) { node *p, *t; p = NULL; if(head == NULL) { head = newnode(); head->element = S; head->weight = N; } else { cp = head; while(cp != NULL && cp->element.compare(S) > 0) { p = cp; cp = cp->next; } if(p != NULL) { t = newnode(); t->element = S; t->weight = N; p->next = t; t->next = cp; } else { t = newnode(); t->element = S; t->weight = N; t->next = cp; head = t; } } } void printlist(node *cp) { while(cp) { cout << cp->element << setw(8) << cp->weight << endl; cp = cp->next; } }
CPallini
Это что, упражнение? Вы знаете, что стандартная библиотека C++ предоставляет связанные списки.
Каково содержание входного файла?