目录
1.想:将B站视频《C#数据结构与算法》--2020 最新精讲版:提高学习效率,所以编写此系列博客
1.因为这个系列教程评价目前是最好的,所以想看视频、写代码、写博客
1.运行结果:输出的是:类的名字:因为调用的是Array1类的父类的toString方法
1.重写ToString,将输出改为我们需要的信息:检测我们编写的代码是否有问题
一.目的
1.想:将B站视频《C#数据结构与算法》--2020 最新精讲版:提高学习效率,所以编写此系列博客
1.因为这个系列教程评价目前是最好的,所以想看视频、写代码、写博客
二.参考
1.C#数据结构与算法》--2020 最新精讲版
https://www.bilibili.com/video/BV1gE41157pC
- 学习的视频
三.操作:1:成功
1.版本
- windows10 64
- 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,将输出改为我们需要的信息:检测我们编写的代码是否有问题
- Console.writeLine:输出的是类的名字,也就是调用了ToString,所以我们需要重写ToString
- 对字符串添加或删除操作不频繁的话,就几个固定的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;
}