带头结点单链表逆序输出
算法思想:遍历链表元素,利用头插法建立新的链表,这样新生成的链表就是之前的逆序链表,直接对其进行输出即可。(函数中没有写头结点初始化的信息,读者自行补充)
1.链表节点结构
typedef struct LNode{
int data;
struct LNode* next;
}LNode,*LinkList;
2.链表逆序
//链表逆序
void RevLinkList(LinkList &L){
LNode *p = L->next,
*q;
L->next = NULL;
while(p != NULL){//头插法构建新的链表
q = p->next;//q指向下一个节点,即剩余链表的头一个元素
p->next = L->next;
L->next = p;
p = q;
}
}