试写一算法,对单链表实现就地逆置。
实现下列函数:
void Inverse(LinkList &L);
/* 对带头结点的单链表L实现就地逆置 */
单链表类型定义如下:
typedef struct LNode{
ElemType data;
struct LNode *next;
实现下列函数:
void Inverse(LinkList &L);
/* 对带头结点的单链表L实现就地逆置 */
单链表类型定义如下:
typedef struct LNode{
ElemType data;
struct LNode *next;
} LNode, *LinkList;
void Inverse(LinkList &L)
/* 对带头结点的单链表L实现就地逆置 */
{
LNode *curr,*next;
curr = L->next;
L->next = NULL;
while(curr != NULL) {
next = curr->next;
curr->next = L->next;
L->next = curr;
curr = next;
}
}