如有链表A->B->C->D,反转为D->C->B->A
构造体如下:
struct Node{
int date;
struct Node *next;
}
给出反转链表函数:void reserve(Node *n)
struct Node{
int date;
struct Node *next;
}
Node *reserve(Node *n){
Node *reserveHead=NULL; //反转后的链表头
Node *prevNode=NULL;
Node *node=n;
while(reserve==NULL){
Node *nodeNext=node->next;
if(nodeNext==null){
resereHead=node;
}
node->next = prevNode;
prevNode = node;
node=tempNext;
}
return reserveHead;
};
int main(){
Node *head = new Node;
Node *a=new Node,*b=new Node,*c=new Node,*d=new Node;
a->date=1;b->date=2;c->date=3;d->date=4;
head->next = a;a->next=b;b->next=c;c->next=d;d->next=NULL;
head = reserve(head);
coutnode(head);
return 0;
}