A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 荣右铭 中级黑马   /  2013-10-10 20:45  /  1078 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

        static void insertNode(Node head, int Num)
        {
            Node pre;
            Node e = new Node();
            Console.WriteLine("请输入待插入节点的值:");
            e.name = Console.ReadLine();
            pre = head;
            //先检索到要插入的节点处
            for (int i = 0; i < Num-1; i++)
            {
                pre = pre.next;
            }
            e.next = pre.next;
            pre.next = e;
            
        }
        static void deleteNode(Node head, int Num)
        {
            Num -= 1;
            Node pre;
            pre = head;
            //先检索到要删除的节点处
            for (int i = 0; i < Num - 1; i++)
            {
                pre = pre.next;
                if (pre == null)
                {
                    Console.WriteLine("要删除的节点可能不在链表中!删除失败");
                    return;
                }
            }
            pre.next = pre.next.next;
        }
        static void insertHead(ref Node head,string str)
        {
            
            Node e = new Node();
            e.name = str;
            e.next = head;
            head = e;
        }
继续上贴,再写三个操作函数,分别是插入节点,删除节点,插入头节点
这三个函数的基本思路都是“断开再连接”,插入头结点可以算是一种比较特殊插入节点,大家可以自己想一下
删除尾节点的操作
亲们可以帮忙找下其中有没有bug,谢谢大家
明天将继续给出栈和队列的代码

评分

参与人数 1技术分 +1 收起 理由
haxyek + 1

查看全部评分

1 个回复

倒序浏览
值得学习ing!
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马