in Java ich einen Knoten zu einer verknüpften Liste hinzufügen kann nicht, wenn ich zum Beispiel null besuchenUnterschied in verkettete Listen zwischen C und Java
void add(int val,node k){
while(k!=null)
k=k.right;
k=new node(val,null);
}
Wo, wie in C
void add(ll* ll1,int val){
node* neu=(node*)malloc(sizeof(node));
neu->val=val;
neu->right=NULL;
if(ll1->head==NULL){
ll1->head=neu;
return;
}
node** curr=&(ll1->head);
while(*curr){
curr=&((*curr)->right);
}
(*curr)=neu;
}
mich hinzufügen Knoten, wenn ich NULL besuche. Kann mir bitte jemand den Unterschied erklären Warum funktioniert das so?
Es tut mir leid, wenn meine Frage ist schlecht erklärt. (Man kann in den Kommentaren fragen, besser zu verstehen)
Weil Java versucht, eine "sichere" Sprache zu sein, und C nicht vorgibt, eins zu sein. C ist daher leistungsfähiger, wenn es um bestimmte Anwendungen geht. – StoryTeller
In Ihrem C-Codebeispiel gibt es keine "besuchende NULL" - es funktioniert genauso wie Java, indem Sie den Knoten am Ende der Liste hinzufügen. –
Funktioniert Ihr C-Code tatsächlich? Ich dachte, es würde genauso funktionieren wie in Java. – anacron