Ich aktualisiere meine C++ durch Erstellen einer einfachen Liste verknüpfter Listen. Was ich habe Probleme ist, wenn ich versuche, die Liste zu drucken, gibt es einen Nulldruck am Anfang der Liste. Wie kann ich das loswerden? Außerdem habe ich Probleme mit meinem zweiten Konstrukteur. Wie würde ich über diese gehen? `Verknüpfte Liste 0 Wert am Anfang C++
Hier ist der Code list.h
#ifndef NODE_H
#define NODE_H
class List{
private:
typedef struct Node{
int data;
struct Node* next;
}* node;
node head;
int listLength;
public:
List();
List(int data, node nextLink);
void printList();
void push(int data);
void Delete(int d);
int listSize(void);
};
mein List.cpp
#endif
#include "node.h"
#include <iostream>
using namespace std;
List::List(){
head->data=0;
head->next= NULL;
listLength=0;
}
List::List(int data, node nextLink){
head=NULL;
listLength++;
}
void List::push(int data){
if(head==NULL){
head->data=data;
head->next= NULL;
}
else{
node cursor = head;
while(cursor->next != NULL)
cursor = cursor -> next;
node newNode= new Node;
newNode->data=data;
newNode->next=NULL;
cursor->next= newNode;
}
listLength++;
}
void List::printList(){
node cursor=head;
while(cursor!=NULL){
//if(cursor->data==0){cursor=cursor->next;}
if(cursor->next==NULL){
cout<<cursor->data<<endl;
return;
}
else{
cout<<cursor->data<<" -> ";
cursor=cursor->next;
}
}
cout<<endl;
}
int main(){
List li;
li.push(2);
li.push(3);
li.push(0);
li.push(4);
li.printList();
return 0;
}
Vielen Dank für Ihre Antwort. Ich habe Ihren Vorschlag versucht, aber ich bekomme immer noch eine Null auf der Liste. –
Überprüfen Sie es. Hast du die Änderungen bemerkt? https://ideone.com/8HDsTA läuft erfolgreich mit der Ausgabe '2 -> 3 -> 0 -> 4' –
Ja, ich sehe die Änderungen und ich sehe es auf dieser Website ausgeführt. Irgendwie bekomme ich immer noch die Null. Der Konstrukteur funktioniert aber danke. Ich verstehe nicht, warum es nicht funktioniert. –