题目要求:给出两个工作指针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;
}
//==========================
本文介绍了一种通过指针操作实现链表逆序的方法。利用三个指针:头指针、工作指针q和临时指针temp,遍历链表并将每个节点的next指向前一个节点,最终完成链表的逆序。
18万+

被折叠的 条评论
为什么被折叠?



