Update the project to make it simpler.

pull/125/head
Ming 2 years ago
parent 49756d8c7e
commit f08621241f

@ -2,6 +2,8 @@
// Created Time: 2022-12-14
// Author: mingXta (1195669834@qq.com)
using NUnit.Framework;
namespace hello_algo.chapter_array_and_linkedlist
{
public class Array
@ -97,5 +99,39 @@ namespace hello_algo.chapter_array_and_linkedlist
{
return string.Join(",", nums);
}
// Driver Code
[Test]
public static void Test()
{
// 初始化数组
int[] arr = new int[5];
Console.WriteLine("数组 arr = " + ToString(arr));
int[] nums = { 1, 3, 2, 5, 4 };
Console.WriteLine("数组 nums = " + ToString(nums));
// 随机访问
int randomNum = RandomAccess(nums);
Console.WriteLine("在 nums 中获取随机元素 " + randomNum);
// 长度扩展
nums = Extend(nums, 3);
Console.WriteLine("将数组长度扩展至 8 ,得到 nums = " + ToString(nums));
// 插入元素
Insert(nums, 6, 3);
Console.WriteLine("在索引 3 处插入数字 6 ,得到 nums = " + ToString(nums));
// 删除元素
Remove(nums, 2);
Console.WriteLine("删除索引 2 处的元素,得到 nums = " + ToString(nums));
// 遍历数组
Traverse(nums);
// 查找元素
int index = Find(nums, 3);
Console.WriteLine("在 nums 中查找元素 3 ,得到索引 = " + index);
}
}
}

@ -3,6 +3,7 @@
// Author: mingXta (1195669834@qq.com)
using hello_algo.include;
using NUnit.Framework;
namespace hello_algo.chapter_array_and_linkedlist
{
@ -60,5 +61,40 @@ namespace hello_algo.chapter_array_and_linkedlist
}
return -1;
}
// Driver Code
[Test]
public void Test()
{
// 初始化链表
// 初始化各个结点
ListNode n0 = new ListNode(1);
ListNode n1 = new ListNode(3);
ListNode n2 = new ListNode(2);
ListNode n3 = new ListNode(5);
ListNode n4 = new ListNode(4);
// 构建引用指向
n0.next = n1;
n1.next = n2;
n2.next = n3;
n3.next = n4;
Console.WriteLine($"初始化的链表为{n0}");
// 插入结点
Insert(n0, new ListNode(0));
Console.WriteLine($"插入结点后的链表为{n0}");
// 删除结点
Remove(n0);
Console.WriteLine($"删除结点后的链表为{n0}");
// 访问结点
ListNode node = Access(n0, 3);
Console.WriteLine($"链表中索引 3 处的结点的值 = {node.val}");
// 查找结点
int index = Find(n0, 2);
Console.WriteLine($"链表中值为 2 的结点的索引 = {index}");
}
}
}

@ -1,25 +0,0 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.1.32421.90
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "hello-algo", "hello-algo.csproj", "{C88820BB-BD9C-4993-9FAE-D3C09FEF4E4B}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Release|Any CPU = Release|Any CPU
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{C88820BB-BD9C-4993-9FAE-D3C09FEF4E4B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C88820BB-BD9C-4993-9FAE-D3C09FEF4E4B}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C88820BB-BD9C-4993-9FAE-D3C09FEF4E4B}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C88820BB-BD9C-4993-9FAE-D3C09FEF4E4B}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {93C0511D-8D01-43BB-BD42-8E053E46FD67}
EndGlobalSection
EndGlobal

@ -1,70 +0,0 @@
// File: ArrayTest.cs
// Created Time: 2022-12-16
// Author: mingXta (1195669834@qq.com)
using NUnit.Framework;
using Array = hello_algo.chapter_array_and_linkedlist.Array;
namespace hello_algo.test.chapter_array_and_linkedlist
{
[TestFixture]
internal class ArrayTest
{
private int[] nums;
[SetUp]
public void setup()
{
// 初始化数组
nums = new int[] { 1, 3, 2, 5, 4 };
}
[Test]
public void TestRandomAccess()
{
// 随机访问
int randomNum = Array.RandomAccess(nums);
Console.WriteLine($"在 nums 中获取随机元素 {randomNum}");
Assert.Contains(randomNum, nums);
}
[Test]
public void TestExtend()
{
// 长度扩展
int[] target = { 1, 3, 2, 5, 4, 0, 0, 0 };
nums = Array.Extend(nums, 3);
Console.WriteLine($"将数组长度扩展至 8 ,得到 nums = {Array.ToString(nums)}");
Assert.AreEqual(target, nums);
}
[Test]
public void TestInsert()
{
// 插入元素
int[] target = { 1, 3, 2, 6, 5 };
Array.Insert(nums, 6, 3);
Console.WriteLine($"在索引 3 处插入数字 6 ,得到 nums = {Array.ToString(nums)}");
Assert.AreEqual(target, nums);
}
[Test]
public void TestRemove()
{
// 删除元素
int[] target = { 1, 3, 5, 4, 4 };
Array.Remove(nums, 2);
Console.WriteLine($"删除索引 2 处的元素,得到 nums = {Array.ToString(nums)}");
Assert.AreEqual(target, nums);
}
[Test]
public void TestFind()
{
// 查找元素
int index = Array.Find(nums, 3);
Console.WriteLine("在 nums 中查找元素 3 , 得到索引 = " + index);
Assert.AreEqual(1, index);
}
}
}

@ -1,80 +0,0 @@
// File: LinkedListTest.cs
// Created Time: 2022-12-16
// Author: mingXta (1195669834@qq.com)
using hello_algo.chapter_array_and_linkedlist;
using hello_algo.include;
using NUnit.Framework;
namespace hello_algo.test.chapter_array_and_linkedlist
{
[TestFixture]
internal class LinkedListTest
{
private ListNode n0;
private ListNode n1;
private ListNode n2;
private ListNode n3;
private ListNode n4;
[SetUp]
public void SetUp()
{
// 初始化各结点
n0 = new ListNode(1);
n1 = new ListNode(3);
n2 = new ListNode(2);
n3 = new ListNode(5);
n4 = new ListNode(4);
// 构建引用指向
n0.next = n1;
n1.next = n2;
n2.next = n3;
n3.next = n4;
}
[Test]
public void CheckInit()
{
// 检查初始化是否正确
Console.WriteLine($"初始化的链表为{n0}");
Assert.AreEqual(n0.ToString(), "1->3->2->5->4");
}
[Test]
public void TestInsert()
{
// 插入结点
LinkedList.Insert(n0, new ListNode(0));
Console.WriteLine($"插入结点后的链表为{n0}");
Assert.AreEqual(n0.ToString(), "1->0->3->2->5->4");
}
[Test]
public void TestRemove()
{
// 删除结点
LinkedList.Remove(n0);
Console.WriteLine($"删除节点后的链表为{n0}");
Assert.AreEqual(n0.ToString(), "1->2->5->4");
}
[Test]
public void TestAccess()
{
// 访问结点
var node = LinkedList.Access(n0, 3);
Console.WriteLine($"链表中索引 3 处的结点的值 ={node.val}");
Assert.AreEqual(node.val, 5);
}
[Test]
public void TestFind()
{
// 查找结点
int index = LinkedList.Find(n0, 2);
Console.WriteLine($"链表中值为 2 的结点的索引 = {index}");
Assert.AreEqual(index, 2);
}
}
}
Loading…
Cancel
Save