操作1: 合并两个链表 first second
struct cell{
cell* next;
int value;
};
void append ( )
1.first ==NULL second ==NULL
2.first ==NULL second != NULL
first= second; 这句话要有效果 first 必须为引用
3.first !=NULL second ==NULL
second=last(of first)->next;
4.first !=NULL second ==NULL
second=last(of first)->next;
迭代代码:
void append(cell * & first, cell * second){
if(first==NULL) {
first=second;
return;
}
cell * curr=first;
while(curr->next!=NULL){
curr=curr->next;
}
curr->next=second;
}
递归代码:
1.递归传递 不需要考虑 curr->next 可以考虑 curr 因为状态有保留
void apprec(cell * &first,cell * second){
if(first==NULL){
first =second;
}else{
apprec(first->next,second);
}
}