题目要求:给出两个工作指针q,p;一个头指针,求一个链表逆序
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
//=====================链表
typedef int Status;
typedef struct LNode//链表
{
char c;
struct LNode *Next;
} LNode,*pNode;
//=======================
Status RevList(pNode *h)//直接编程
{
pNode temp=NULL;
pNode q=NULL;
assert((*h)!=NULL);
q=(*h)->Next;//把第二个结点给q
(*h)->Next=NULL;//第一个结点的下一个指向空
while (q!=NULL)
{
temp=q->Next;//把第三个结点给p
q->Next=(*h);//把第一个结点给q;
(*h)=q;
q=temp;
}
return OK;
}
//==========================