目录
一.目的
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.版本
- windows10 64
- 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();
}
|