逆置伪代码
逆序输出用递归
- void invert(SNode **Head)
- {
- assert(Head);
- assert(*Head);
- SNode *p,*q,*r;
- p=*Head;
- q=p->next;
- while(q)
- {
- r=q->next;
- q->next=p;
- p=q;
- q=r;
- }
- (*Head)->next=NULL;
- *Head=p;
- }
- void traverse(Node *h)
- {
- assert(h);
- if(h==NULL)
- return;
- tranverse(h->next);
- printf("%c ",h->data);
- }