Вот мой код:Связанный список не перекручивание правильно
void setUpEachFlechette(int numFlechettes){
int i = 0;
int totalNum = 0;
Flechette* next;
Flechette* head;
Flechette* pEnd;
Flechette* temp;
while(numFlechettes != i){
double x = getRandomNumberX();
double y = getRandomNumberX();
double z = getRandomNumberZ();
if(i != 0)
temp = next;
next = new Flechette;
next->setXYZ(x, y, z);
if(i == 0)
head = next;
else
next->link = temp;
i++;
next->display();
}
cout<<"\nThe total number of flechettes is "<<totalNum<<endl<<endl;
char yes = NULL;
cout<<"Ready? ";
cin>>yes;
i = 0;
next->link = NULL;
next = head;
while(next != NULL){
next->display();
next = next->link;
i++;
}
}
По какой-то причине, когда я циклически связанный список, он только отображает первые 4 узлов в списке и он продолжает повторять первые четыре. Я также не могу довести его до нулевого значения, поэтому я могу запустить его через цикл while (next! = Null). Мне было интересно, почему моя кодировка не проходит через все Flechettes? Для справки, он должен зацикливаться на 20 разных флештях, а не только на 4 раза.
Я думаю, что функции довольно понятны. Если они не дадут мне знать, и я объясню их вам.
Спасибо за вашу помощь
P.S. Я только сейчас изучаю указатели и связанные списки, поэтому, пожалуйста, со мной.
Отладчик - ваш друг. Используйте его, чтобы выполнить код за строкой, чтобы узнать, что произойдет. –
Я только начал смотреть на отладчик. Должен влезть в него еще. –