有一个带头结点的单链表L,设计一个算法将其所有元素逆置
4个回答
展开全部
struct Node
{ /* 单链表类型声明 */
ElemType data; /* 数据域 */
struct Node *next; /* 指针域 */
};
void Reverse(Node *head)
{ /* 从第一结点开始颠倒 */
Node *p, *q;
p = head->next; /* p 指向第一个结点 */
head->next = NULL; /* 断开链表表头 */
while (p != NULL)
{
q = p;
p = p->next; /* 当前结点指针后移 */
q->next = head->next; /* 表头插入 */
head->next = q;
}
}
{ /* 单链表类型声明 */
ElemType data; /* 数据域 */
struct Node *next; /* 指针域 */
};
void Reverse(Node *head)
{ /* 从第一结点开始颠倒 */
Node *p, *q;
p = head->next; /* p 指向第一个结点 */
head->next = NULL; /* 断开链表表头 */
while (p != NULL)
{
q = p;
p = p->next; /* 当前结点指针后移 */
q->next = head->next; /* 表头插入 */
head->next = q;
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struct Node
{ /* 单链表类型声明 */
ElemType data; /* 数据域 */
struct Node *next; /* 指针域 */
};
void Reverse(Node *head)
{ /* 从第一结点开始颠倒 */
Node *p, *q;
p = head->next; /* p 指向第一个结点 */
head->next = NULL; /* 断开链表表头 */
while (p != NULL)
{
q = p;
p = p->next; /* 当前结点指针后移 */
q->next = head->next; /* 表头插入 */
head->next = q;
}
}
{ /* 单链表类型声明 */
ElemType data; /* 数据域 */
struct Node *next; /* 指针域 */
};
void Reverse(Node *head)
{ /* 从第一结点开始颠倒 */
Node *p, *q;
p = head->next; /* p 指向第一个结点 */
head->next = NULL; /* 断开链表表头 */
while (p != NULL)
{
q = p;
p = p->next; /* 当前结点指针后移 */
q->next = head->next; /* 表头插入 */
head->next = q;
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询