把链表的每个指针反转。
知识点:链表
代码实现:
/**
* 反转链表
*/
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()类代码过长,想要了解的可以留言:)
此类详细介绍了链表的所有操作代码实现