代码改变世界

单链表逆转

  雪夜&流星  阅读(166)  评论(0编辑  收藏  举报

单链表参考:http://www.cnblogs.com/tanlon/p/4027046.html

单链表逆转:

复制代码
package com.clarck.datastructure.linked;

/**
 * 单链表逆转
 * 
 * @author clarck
 * 
 */
public class SinglyLinkedList_reverse {
    /**
     * 将单链表逆转,泛型方法,返回值类型前声明类型参数T
     * 
     * @param list
     */
    public static <T> void reverse(SinglyLinkedList<T> list) {
        Node<T> p = list.head.next, succ = null, front = null; // head必须声明为public
        while (p != null) {
            succ = p.next; // 设置succ是p结点的后继结点
            p.next = front; // 使p.next指向p结点的前驱结点
            front = p;
            p = succ; // p向后走一步
        }
        list.head.next = front;
    }

    public static void main(String args[]) {
        String value[] = { "A", "B", "C", "D", "E", "F" };
        SinglyLinkedList<String> list = new SinglyLinkedList<String>(value);
        System.out.println("list: " + list.toString());
        reverse(list);
        System.out.println("逆转后 " + list.toString());
    }
}
复制代码

运行结果:

list: (A,B,C,D,E,F)
逆转后 (F,E,D,C,B,A)

 

编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
点击右上角即可分享
微信分享提示