如何用类Pascal语言写出逆置单链表的数据元素的算法
时间: 2023-05-19 13:04:32 浏览: 107
以下是逆置单链表的数据元素的算法的类Pascal语言实现:
procedure ReverseList(var head: PNode);
var
p, q, r: PNode;
begin
if (head = nil) or (head^.next = nil) then
Exit;
p := head;
q := p^.next;
p^.next := nil;
while q <> nil do
begin
r := q^.next;
q^.next := p;
p := q;
q := r;
end;
head := p;
end;
相关问题
用类Pascal语言写一个逆置单链表的算法
以下是用类Pascal语言写一个逆置单链表的算法的示例代码:
type
PNode = ^TNode;
TNode = record
Data: Integer;
Next: PNode;
end;
function ReverseList(Head: PNode): PNode;
var
Prev, Curr, Next: PNode;
begin
Prev := nil;
Curr := Head;
while Curr <> nil do
begin
Next := Curr^.Next;
Curr^.Next := Prev;
Prev := Curr;
Curr := Next;
end;
Result := Prev;
end;
在这个算法中,我们定义了一个指向单链表节点的指针类型PNode和一个包含数据和下一个节点指针的节点类型TNode。ReverseList函数接收一个指向单链表头节点的指针Head,并返回逆置后的单链表头节点指针。在函数中,我们使用三个指针Prev、Curr和Next来遍历单链表并逆置每个节点的Next指针。最后,我们返回逆置后的单链表头节点指针Prev。
阅读全文