0
我試圖在鏈表中插入節點,以便通過dex參數以遞增模式對節點進行排序。在有序鏈接列表中插入
void add(int i){
if(find(i)==NULL){ //if node does not exist
node *m=new node;
m->idx=i;
m->values=NULL;
m->next=NULL;
if(list==NULL){ //if list is empty
list=m;
return;
}
if(i < list->idx){ //if the new node comes before the head node
m->next=list;
list=m;
return;
}
//if the new node is bigger than the maximum node index in the list
if(i > maxIdx(list)){
node *last=lastNode(list);
last->next=m;
}
//else normal insertion
node *prev=list;
node *curr=list->next;
while(curr!=NULL){
if(i < curr->idx){
m->next=curr;
prev->next=m;
return;
}
prev=curr;
curr=curr->next;
}
}
}
使用正確的實現進行編輯,第四個如果之前缺少。
這是功課嗎? – 2012-02-11 09:13:47
我是初學者,這不是功課。我能夠做頭部或尾部插入,現在我正在嘗試進行有序插入。 – Vektor88 2012-02-11 09:15:30
'mrow'和'node'之間的關係是什麼? – cnicutar 2012-02-11 09:17:05