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

目录

一.目的

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

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

二.参考

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

三.操作:1:成功

1.版本

1.运行结果:输出的是:类的名字:因为调用的是Array1类的父类的toString方法

1.重写ToString,将输出改为我们需要的信息:检测我们编写的代码是否有问题

1.1 运行结果:成功:输出了数组内容 

 1.数组:首位添加元素:检测我们编写的代码是否有问题

1.数组:中间插入一个元素:检测我们编写的代码是否有问题

1.查找某索引位置的元素:原理

1.Array1 添加功能:得到某个索引的元素

1.Array1 添加 功能:得到第一个索引的元素

1.Array1 添加 功能:得到数组最后一个索引的元素

1.Array1 添加 功能:修改索引位置的元素

1.运行结果:成功


一.目的

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

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

二.参考

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

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

  1. 学习的视频

三.操作:1:成功

1.版本

  1. windows10 64
  2. VS2019

1.运行结果:输出的是:类的名字:因为调用的是Array1类的父类的toString方法

            Array1 a = new Array1(20);
            for (int i = 0; i <10; i++)
            {
                a.AddLast(i);
            }
            Console.WriteLine(a);
            Console.Read();

1.重写ToString,将输出改为我们需要的信息:检测我们编写的代码是否有问题

  1. Console.writeLine:输出的是类的名字,也就是调用了ToString,所以我们需要重写ToString
  2. 对字符串添加或删除操作不频繁的话,就几个固定的string累加的时候就不需要StringBuilder了,毕竟StringBuilder的初始化也是需要时间的。对字符串添加或删除操作比较频繁的话那就用StringBuilder。
        //重写toString
        public override string ToString()
        {
            StringBuilder res = new StringBuilder();
            res.Append(string.Format("Array1: count={0} capacity={1}\n", N, data.Length));
            res.Append("[");
            for (int i = 0; i <N; i++)
            {
                res.Append(data[i]);
                if (i!=N-1)
                    res.Append(",  ");
            }
            res.Append("]");
            return res.ToString();
        }

            Array1 a = new Array1(20);
            for (int i = 0; i <10; i++)
            {
                a.AddLast(i);
            }
            Console.WriteLine(a);
            Console.Read();

1.1 运行结果:成功:输出了数组内容 

 1.数组:首位添加元素:检测我们编写的代码是否有问题

            Array1 a = new Array1(20);
            for (int i = 0; i <10; i++)
            {
                a.AddLast(i);
            }
            Console.WriteLine(a);

            a.AddFirst(66);
            Console.WriteLine(a);

            Console.Read();

1.数组:中间插入一个元素:检测我们编写的代码是否有问题

            Array1 a = new Array1(20);
            for (int i = 0; i <10; i++)
            {
                a.AddLast(i);
            }
            Console.WriteLine(a);

            a.AddFirst(66);
            Console.WriteLine(a);

            a.Add(2, 88);
            Console.WriteLine(a);

            Console.Read();

1.查找某索引位置的元素:原理

1.Array1 添加功能:得到某个索引的元素

        /// <summary>
        /// 功能:得到某个索引的元素
        /// </summary>
        /// <param name="index">数组中索引编号</param>
        /// <returns></returns>
        public int Get(int index)
        {
            if (index<0||index>=N)
            {
                throw new ArgumentException("数组索引越界!");
            }
            return data[index];
        }

1.Array1 添加 功能:得到第一个索引的元素

        /// <summary>
        /// 功能:得到第一个索引的元素
        /// </summary>
        /// <returns></returns>
        public int GetFirst()
        {
            return Get(0);
        }

1.Array1 添加 功能:得到数组最后一个索引的元素

        /// <summary>
        /// 功能:得到数组最后一个索引的元素
        /// </summary>
        /// <returns></returns>
        public int GetLast()
        {
            return Get(N - 1);
        }

1.Array1 添加 功能:修改索引位置的元素

        /// <summary>
        /// 功能:修改索引位置的元素
        /// </summary>
        /// <param name="index">准备在什么索引进行修改</param>
        /// <param name="newE">准备将制定位置的元素修改什么数值</param>
        public void Set(int index,int newE)
        {
            if (index<0||index>=N)
            {
                throw new ArgumentException("索引越界!");
            }
            data[index] = newE;
        }

 

1.运行结果:成功

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值