《C#数据结构与算法》--2020 最新精讲版:3-3 获取、修改、包含、打印

目录

一.目的

1.想:将B站视频《C#数据结构与算法》--2020 最新精讲版:提高学习效率,所以编写此系列博客

2.因为这个系列教程评价目前是最好的,所以想看视频、写代码、写博客

二.参考

1.C#数据结构与算法》--2020 最新精讲版

三.注意

1.你可以忘记代码,也不能忘记 演示动画:因为记住了演示动画,思路就有了,写代码就有了思路

四.操作:1:成功

1.版本

2.动画演示:

3.代码:得到某个 索引的元素

4.代码:得到 首个 索引的元素

5.代码:得到 最后一个 索引的元素

6.代码:将指定索引的元素修改为指定元素值

7.代码:查看 链表是否存在某个 元素

8.代码:重写 ToString 函数,进行输出我们的信息

9.main函数代码+运行效果:成功:增+删+改+查


一.目的

1.想:将B站视频《C#数据结构与算法》--2020 最新精讲版:提高学习效率,所以编写此系列博客

2.因为这个系列教程评价目前是最好的,所以想看视频、写代码、写博客

二.参考

1.C#数据结构与算法》--2020 最新精讲版

https://www.bilibili.com/video/BV1gE41157pC

  1. 学习的视频

三.注意

1.你可以忘记代码,也不能忘记 演示动画:因为记住了演示动画,思路就有了,写代码就有了思路

四.操作:1:成功

1.版本

  1. windows10 64
  2. VS2015

2.动画演示:

3.代码:得到某个 索引的元素

        /// <summary>
        /// [Athor:XZY Time:20210817]
        /// [视频编号:3-3 获取、修改、包含、打印]
        ///  [功能:得到某个 索引的元素]
        /// </summary>
        /// <param name="_index">得到某个索引的元素</param>
        /// <returns></returns>
        public E Get(int _index)
        {
            if (_index<0||_index>=N)
                throw new ArgumentException("非法索引!");

            Node cur = head;//因为需要遍历,所以如此写,联想动画,每次都将下个指向给前一个(类似C++中的指针),
            for (int i = 0; i <_index; i++)
                cur = cur.next;

            return cur.e;
        }

4.代码:得到 首个 索引的元素

        /// <summary>
        /// [Author:XZY Time:20210817]
        /// [视频编号:3-3 获取、修改、包含、打印]
        ///  [功能:得到 首个 索引的元素]
        /// </summary>
        /// <returns></returns>
        public E GetFirst()
        {
            return Get(0);
        }

5.代码:得到 最后一个 索引的元素

        /// <summary>
        /// [Author:XZY Time:20210817]
        /// [视频编号:3-3 获取、修改、包含、打印]
        ///  [功能:得到 最后一个 索引的元素]
        /// </summary>
        /// <returns></returns>
        public E GetLast()
        {
            return Get(N - 1);
        }

6.代码:将指定索引的元素修改为指定元素值

        /// <summary>
        /// [Author:XZY Time:20210817]
        /// [视频编号:3-3 获取、修改、包含、打印]
        /// [功能:将指定索引的元素修改为指定元素值]
        /// </summary>
        /// <param name="_index"></param>
        /// <param name="_newE"></param>
        public void Set(int _index,E _newE)
        {
            if (_index < 0 || _index >= N)
                throw new ArgumentException("非法索引!");

            Node cur = head;
            for (int i = 0; i <_index; i++)
                cur = cur.next;

            cur.e = _newE;
        }

7.代码:查看 链表是否存在某个 元素

        /// <summary>
        /// [Author:XZY Time:20210817]
        /// [视频编号:3-3 获取、修改、包含、打印]
        /// [功能:查看 链表是否存在某个 元素]
        /// </summary>
        /// <param name="_e"></param>
        /// <returns></returns>
        public bool Contains(E _e)
        {
            Node cur = head;
            while (cur!=null)
            {
                if (cur.e.Equals(_e))
                    return true;
            }

            return false;
        }

8.代码:重写 ToString 函数,进行输出我们的信息

        /// <summary>
        /// [Author:XZY Time:20210817]
        /// [视频编号:3-3 获取、修改、包含、打印]
        /// [功能:重写 ToString 函数,进行输出我们的信息]
        /// </summary>
        /// <returns></returns>
        public override string ToString()
        {
            StringBuilder res = new StringBuilder();
            Node cur = head;
            while (cur!=null)
            {
                res.Append(cur + "->");
                cur = cur.next;
            }
            res.Append("Null");

            return res.ToString();
        }

9.main函数代码+运行效果:成功:增+删+改+查

 LinkedList1<int> l = new LinkedList1<int>();
            for (int i = 0; i < 5; i++)
            {
                //for循环添加元素
                l.AddFirst(i);
                Console.WriteLine(l);
            }

            //末尾添加元素
            l.AddLast(666);
            Console.WriteLine(l);

            //指定位置添加元素
            l.Add(2, 999);
            Console.WriteLine(l);

            //指定位置修改元素
            l.Set(2, 1000);
            Console.WriteLine(l);

            Console.Read();
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值