把链表的每个指针反转。
知识点:链表
代码实现:
/**
* 反转链表
*/
public void reverse(){
Node temp = first; //当前节点
last = temp;
Node next = first.getNext();
for(int i = 0;i < size -1;i++){
Node nextNext = next.getNext();//下下个
next.setNext(temp); //反转指针
temp =next;
next = nextNext;
}
last.setNext(null);
first = temp;
}
测试代码:
public class LinkReverse {
public static void main(String[] args){
Link link = new Link();
link.addLast(1);
link.addLast(2);
link.addLast(3);
link.addLast(4);
printAllElements(link);
System.out.println();
link.reverse();
printAllElements(link);
}
private static void printAllElements(Link link) {
for(int i = 0;i < link.size();i++){
System.out.print(link.get(i).getData());
}
}
运行结果

由于Link()类代码过长,想要了解的可以留言:)
此类详细介绍了链表的所有操作代码实现
本文深入讲解了链表数据结构中的一项关键操作——链表反转。通过详细的代码实现,读者可以理解如何通过迭代方式将链表的指向从头到尾反转为从尾到头,这一过程涉及到对链表节点指针的巧妙操作。
995

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



