diff --git a/LinkedList/.vs/LinkedList/DesignTimeBuild/.dtbcache b/LinkedList/.vs/LinkedList/DesignTimeBuild/.dtbcache new file mode 100644 index 0000000000000000000000000000000000000000..5a13f818804384fe518217545013fffae281c516 Binary files /dev/null and b/LinkedList/.vs/LinkedList/DesignTimeBuild/.dtbcache differ diff --git a/LinkedList/.vs/LinkedList/DesignTimeBuild/.dtbcache.v2 b/LinkedList/.vs/LinkedList/DesignTimeBuild/.dtbcache.v2 new file mode 100644 index 0000000000000000000000000000000000000000..f6985940fe71e710a10caa33d3a12431c6f77b2a Binary files /dev/null and b/LinkedList/.vs/LinkedList/DesignTimeBuild/.dtbcache.v2 differ diff --git a/LinkedList/.vs/LinkedList/v15/.suo b/LinkedList/.vs/LinkedList/v15/.suo new file mode 100644 index 0000000000000000000000000000000000000000..c7074987f5b16ab05472af6a40a42b24e947f969 Binary files /dev/null and b/LinkedList/.vs/LinkedList/v15/.suo differ diff --git a/LinkedList/.vs/LinkedList/v15/Server/sqlite3/db.lock b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/db.lock new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide new file mode 100644 index 0000000000000000000000000000000000000000..56758a88b356f5fc284d2b23256cb2a77affde45 Binary files /dev/null and b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide differ diff --git a/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide-shm b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide-shm new file mode 100644 index 0000000000000000000000000000000000000000..0a8ba9cee125cd06c631bbd383bd0f28df8ad969 Binary files /dev/null and b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide-shm differ diff --git a/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide-wal b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide-wal new file mode 100644 index 0000000000000000000000000000000000000000..77bd184840b0fcb4a368c6107eea4d42182d406f Binary files /dev/null and b/LinkedList/.vs/LinkedList/v15/Server/sqlite3/storage.ide-wal differ diff --git a/LinkedList/.vs/LinkedList/v16/.suo b/LinkedList/.vs/LinkedList/v16/.suo new file mode 100644 index 0000000000000000000000000000000000000000..535e84887d383a25d7f812615ae774388a41d880 Binary files /dev/null and b/LinkedList/.vs/LinkedList/v16/.suo differ diff --git a/LinkedList/LinkedList.sln b/LinkedList/LinkedList.sln new file mode 100644 index 0000000000000000000000000000000000000000..c04ea726b0a820f14e90858b045618d7226475be --- /dev/null +++ b/LinkedList/LinkedList.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30611.23 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "LinkedList", "LinkedList\LinkedList.csproj", "{2FA458D9-4162-4E31-90EE-97605B736F98}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {2FA458D9-4162-4E31-90EE-97605B736F98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2FA458D9-4162-4E31-90EE-97605B736F98}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2FA458D9-4162-4E31-90EE-97605B736F98}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2FA458D9-4162-4E31-90EE-97605B736F98}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {519B01D6-E990-4673-B0A0-D2C6FEB0C6EE} + EndGlobalSection +EndGlobal diff --git a/LinkedList/LinkedList/DoubleLinkList.cs b/LinkedList/LinkedList/DoubleLinkList.cs new file mode 100644 index 0000000000000000000000000000000000000000..835b358a00318db7a6af40fa47681fe0cb3f1f7e --- /dev/null +++ b/LinkedList/LinkedList/DoubleLinkList.cs @@ -0,0 +1,200 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace LinkedList +{ + public class DoubleLinkList:IFactory + { + public DoubleLinkNode Head { get; set; } + //public DoubleLinkNode RearNode { get; set; } + public DoubleLinkList() + { + this.Head = new DoubleLinkNode(); + } + public int Length { get; set; } + #region Insert + /// + /// 头节点插入 + /// + /// + public void AddFront(T value) + { + DoubleLinkNode targetNode = new DoubleLinkNode(value); + if (targetNode != null &&this.Head.Next!=null) + { + targetNode.previous = this.Head; + targetNode.Next = this.Head.Next; + this.Head.Next.previous = targetNode; + this.Head.Next = targetNode; + } + else + { + this.Head.Next = targetNode; + targetNode.previous = this.Head; + } + this.Length++; + } + /// + /// 尾节点插入值 + /// + /// + public void AddToRear(T value) + { + DoubleLinkNode targetNode = new DoubleLinkNode(value); + var p = this.Head.Next; + while (p.Next != null) + { + p = p.Next; + } + p.Next = targetNode; + targetNode.previous = p; + + Length++; + } + #endregion + + #region Print + /// + /// 输出节点 + /// + public void PrintItems() + { + DoubleLinkNode p = this.Head.Next; + while (p != null && p != this.Head) + { + Console.Write(p.Data + "==>"); + p = p.Next; + } + Console.WriteLine(); + } + #endregion + + #region Delete + /// + /// 删除节点 + /// + /// + /// + public bool DeleteItems(T value) + { + + DoubleLinkNode p = this.Head; + while (p.Next != null && !p.Next.Data.Equals(value)) + { + p = p.Next; + } + if (p.Next.Data.Equals(value)) + { + p.Next = p.Next.Next; + if (p.Next != null) + { + p.Next.Next.previous = p; + } + Length--; + return true; + } + else + { + Console.WriteLine("未找到该节点,请重新确认是否有该节点"); + return false; + } + } + #endregion + + #region FindItem + /// + /// 查找元素 + /// + /// + /// + public bool FindItem(T value) + { + DoubleLinkNode p = this.Head; + while (p.Next != null && !p.Next.Data.Equals(value)) + { + p = p.Next; + } + if (p.Next.Data.Equals(value)) + { + return true; + } + return false; + } + /// + /// 按位置查找 正序查询 + /// + /// + /// + public DoubleLinkNode FindKth(int k) + { + var p = this.Head.Next; + + int countFirst = 1; + if (this.Length >= k && k > 0) + { + while (p.Next != null && k > countFirst) + { + p = p.Next; + countFirst++; + } + return p; + } + return null; + + } + #endregion + + #region Size + /// + /// 返回链表长度 + /// + /// + public int Size() + { + if (this.Head != null) + { + DoubleLinkNode p = this.Head; + int len = 0; + while (p.Next != null) + { + p = p.Next; + len++; + } + return len; + } + return 0; + } + #endregion + + #region 删除双向链表的倒数第n个节点 + /// + /// 删除双向链表倒数第 n 个结点 + /// 倒数第n给反过来讲就是正数的(总长度-倒数个数) + /// + /// + /// + public bool DeleteKth(int k) + { + var p = this.Head.Next; + int countFirst = 1; + if (this.Length >= k&&k>0) + { + while (p.Next != null && this.Length - k >countFirst) + { + p = p.Next; + countFirst++; + } + p.previous.Next = p.Next; + p.Next.previous = p.previous; + return true; + } + return false; + + } + + + #endregion + + } +} diff --git a/LinkedList/LinkedList/DoubleLinkNode.cs b/LinkedList/LinkedList/DoubleLinkNode.cs new file mode 100644 index 0000000000000000000000000000000000000000..318c6d6e8edf4f120dbd834c58006014ab74dda3 --- /dev/null +++ b/LinkedList/LinkedList/DoubleLinkNode.cs @@ -0,0 +1,43 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace LinkedList +{ + public class DoubleLinkNode + { + public T Data { get; set; } + public DoubleLinkNode previous { get; set; } + public DoubleLinkNode Next { get; set; } + public int Key { get; set; } + public DoubleLinkNode() + { + this.Next = null; + this.previous = null; + } + public DoubleLinkNode(int key, T data) + { + this.Key = key; + this.Data = data; + this.previous = null; + this.Next = null; + } + public DoubleLinkNode(T data) + { + this.Data = data; + this.previous = null; + this.Next = null; + //this.previous = this; + //this.Next = this; + } + public DoubleLinkNode(T data, DoubleLinkNode previous, DoubleLinkNode next) + { + this.Data = data; + this.previous = previous; + this.Next = next; + previous.Next = this; + next.previous = this; + } + + } +} diff --git a/LinkedList/LinkedList/IFactory.cs b/LinkedList/LinkedList/IFactory.cs new file mode 100644 index 0000000000000000000000000000000000000000..b57b41196a47fb7f27ad4f7063ccf6ca71eb6330 --- /dev/null +++ b/LinkedList/LinkedList/IFactory.cs @@ -0,0 +1,74 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace LinkedList +{ + /// + /// 工厂方法类 + /// + /// + interface IFactory + { + /// + /// 长度 + /// + int Length { get; set; } + + #region Insert + /// + /// 头节点插入 + /// + /// + void AddFront(T value); + + /// + /// 尾节点插入值 + /// + /// + void AddToRear(T value); + + #endregion + + #region Print + /// + /// 输出节点 + /// + void PrintItems(); + + #endregion + + #region Delete + /// + /// 删除节点 + /// + /// + /// + bool DeleteItems(T value); + + #endregion + + #region FindItem + /// + /// 查找元素 + /// + /// + /// + bool FindItem(T value); + + #endregion + + #region Length + /// + /// 返回链表长度 + /// + /// + int Size(); + + #endregion + + + + } + +} diff --git a/LinkedList/LinkedList/LRUCache.cs b/LinkedList/LinkedList/LRUCache.cs new file mode 100644 index 0000000000000000000000000000000000000000..4fe00c6609014c4d5b597404ca23ac12b40b8622 --- /dev/null +++ b/LinkedList/LinkedList/LRUCache.cs @@ -0,0 +1,115 @@ +using Microsoft.VisualBasic.CompilerServices; +using System; +using System.Collections.Generic; +using System.Text; + +namespace LinkedList +{ + /// + /// 新数据直接插入到列表头部 + ///缓存数据被命中,将数据移动到列表头部 + ///缓存已满的时候,移除列表尾部数据 + /// + /// + + public class LRUCache + { + private int Length { get; set; } + private int Capacity { get; set; } + private Dictionary> Dic; + private DoubleLinkNode LinkHead { get; set; } + public LRUCache(int capacity) + { + this.LinkHead = new DoubleLinkNode(-1, default(T)); + this.LinkHead.Next = LinkHead.previous = LinkHead; + this.Length = 0; + this.Capacity = capacity; + this.Dic = new Dictionary>(); + } + /// + /// 构造一个Get访问器 + /// + /// + /// + public T Get(int key) + { + if (Dic.ContainsKey(key)) + { + DoubleLinkNode n = Dic[key]; + MoveToHead(n); + return n.Data; + } + else + { + return default(T); + } + } + /// + /// 构造一个Set写入器 + /// + /// + /// + public void Set(int key, T value) + { + DoubleLinkNode n; + if (Dic.ContainsKey(key)) + { + n = Dic[key]; + n.Data = value; + } + else + { + n = new DoubleLinkNode(key, value); + AttachToHead(n); + Length++; + } + if (Length > Capacity) + { + //如果更新节点后超出容量。删除最后一个 + RemoveLast(); + Length--; + } + Dic.Add(key, n); + } + /// + /// 移除链表最后一个节点 + /// + private void RemoveLast() + { + DoubleLinkNode temp = LinkHead.previous; + RemoveFromList(temp); + Dic.Remove(temp.Key); + } + /// + /// 移除双链表节点 + /// + /// + private void RemoveFromList(DoubleLinkNode temp) + { + temp.previous = LinkHead; + temp.Next = LinkHead.Next; + LinkHead.Next.previous = temp; + LinkHead.Next = temp; + } + /// + /// 将一个孤立的节点放到头部 + /// + /// + private void AttachToHead(DoubleLinkNode n) + { + n.previous = LinkHead; + n.Next = LinkHead.Next; + LinkHead.Next.previous = n; + LinkHead.Next = n; + } + /// + /// 从链表中的节点放到头部 + /// + /// + private void MoveToHead(DoubleLinkNode n) + { + RemoveFromList(n); + AttachToHead(n); + } + } +} diff --git a/LinkedList/LinkedList/LinkedList.csproj b/LinkedList/LinkedList/LinkedList.csproj new file mode 100644 index 0000000000000000000000000000000000000000..c73e0d1692ab38cc8596bbd32ae080d903aaa778 --- /dev/null +++ b/LinkedList/LinkedList/LinkedList.csproj @@ -0,0 +1,8 @@ + + + + Exe + netcoreapp3.1 + + + diff --git a/LinkedList/LinkedList/Program.cs b/LinkedList/LinkedList/Program.cs new file mode 100644 index 0000000000000000000000000000000000000000..78d4290074004cc79cb9fba77337ea1c8be3f7d0 --- /dev/null +++ b/LinkedList/LinkedList/Program.cs @@ -0,0 +1,142 @@ +using System; + +namespace LinkedList +{ + class Program + { + static void Main(string[] args) + { + #region 单链表 + //头节点构造 + SingleLinkList singleLink = new SingleLinkList(); + + #region 单链表头部插入 + singleLink.AddFront("1"); + singleLink.AddFront("2"); + singleLink.AddFront("3"); + #endregion + + #region 尾部插入 + singleLink.AddToRear("0"); + singleLink.AddToRear("-1"); + singleLink.AddToRear("-2"); + #endregion + + #region 删除 + singleLink.DeleteItems("2"); + singleLink.DeleteItems("1"); + #endregion + + #region 查找 + // 按元素查找 + singleLink.FindItem("3"); + singleLink.FindItem("0"); + + + //按位置查找 + singleLink.FindKth(1); + singleLink.FindKth(2); + + #endregion + + #region 输出 + singleLink.PrintItems(); + #endregion + + #region 反转 + singleLink.RevertSingleLinkList(); + #endregion + + #region 长度 + singleLink.Size(); + #endregion + #endregion + + #region 双向链表 + //头节点构造 + DoubleLinkList doubleLink = new DoubleLinkList(); + #region 添加到头部 + doubleLink.AddFront("1"); + doubleLink.AddFront("2"); + doubleLink.AddFront("3"); + #endregion + + #region 添加到尾部 + doubleLink.AddToRear("0"); + doubleLink.AddToRear("-1"); + doubleLink.AddToRear("-2"); + #endregion + + #region 删除 + //按元素删除 + doubleLink.DeleteItems("0"); + //按位置删除 倒序删除 + doubleLink.DeleteKth(1); + #endregion + + #region 查找 + //按元素查找 + doubleLink.FindItem("1"); + //按位置查找 正序 + doubleLink.FindKth(2); + #endregion + + #region 输出 + doubleLink.PrintItems(); + #endregion + + #region 长度 + doubleLink.Size(); + #endregion + + #region 删除倒数元素和查找第几个元素 + doubleLink.AddFront("4"); + doubleLink.AddFront("5"); + doubleLink.AddFront("6"); + doubleLink.AddFront("7"); + doubleLink.DeleteKth(3); + doubleLink.FindKth(2); + Console.ReadLine(); + #endregion + + #endregion + + #region LRU + LRUCache cache = new LRUCache(3); + cache.Get(1); + cache.Set(1, 1); + cache.Set(2, 2); + cache.Get(3); + cache.Set(3, 3); + cache.Set(4, 4); + cache.Get(2); + #endregion + + #region Combine + SingleLinkNodes first = new SingleLinkNodes(1); + first.InsertAfter(3); + first.InsertAfter(5); + first.InsertAfter(6); + first.InsertAfter(7); + + SingleLinkNodes second = new SingleLinkNodes(2); + second.InsertAfter(4); + second.InsertAfter(5); + second.InsertAfter(8); + second.InsertAfter(9); + + SingleLinkNodes result = first.Combine(second); + + SingleLinkNodes p = result; + + while (p != null) + { + Console.Write(p.Data + "==>"); + p = p.Next; + } + #endregion + + Console.ReadLine(); + } + } +} diff --git a/LinkedList/LinkedList/SingleLinkList.cs b/LinkedList/LinkedList/SingleLinkList.cs new file mode 100644 index 0000000000000000000000000000000000000000..1a3f54fb66e2540fc8bd5054eafca420b611c92b --- /dev/null +++ b/LinkedList/LinkedList/SingleLinkList.cs @@ -0,0 +1,236 @@ +using System; +using System.Collections.Generic; +using System.Runtime.ExceptionServices; +using System.Text; + +namespace LinkedList +{ + public class SingleLinkList: IFactorywhere T:IComparable + { + public SingleLinkNodes Head { get; set; } + public int Length { get; set; } + public SingleLinkNodes Tail { get; set; } + public SingleLinkList() + { + this.Head = new SingleLinkNodes(); + } + + #region Insert + /// + /// 头节点插入 + /// + /// + public void AddFront(T value) + { + SingleLinkNodes targetNode = new SingleLinkNodes(value); + if (targetNode != null) + { + targetNode.Next = this.Head.Next; + this.Head.Next = targetNode; + } + if (this.Head.Next == null) + { + this.Tail = targetNode; + } + Length++; + } + /// + /// 尾节点插入值 + /// + /// + public void AddToRear(T value) + { + SingleLinkNodes targetNode = new SingleLinkNodes(value); + SingleLinkNodes p = this.Head; + while (p.Next != null) + { + p = p.Next; + } + p.Next = targetNode; + Length++; + this.Tail = targetNode; + } + #endregion + + #region Print + /// + /// 输出节点 + /// + public void PrintItems() + { + SingleLinkNodes p = this.Head.Next; + while (p != null && p != this.Head) + { + Console.Write(p.Data + "==>"); + p = p.Next; + } + Console.WriteLine(); + } + #endregion + + #region Delete + /// + /// 删除节点 + /// + /// + /// + public bool DeleteItems(T value) + { + + SingleLinkNodes p = this.Head; + while (p.Next != null && !p.Next.Data.Equals(value)) + { + p = p.Next; + } + if (p.Next.Next == null) + { + this.Tail = p; + } + if (p.Next.Data.Equals(value)) + { + p.Next = p.Next.Next; + Length--; + return true; + } + return false; + } + #endregion + + #region FindItem + /// + /// 查找元素 + /// + /// + /// + public bool FindItem(T value) + { + SingleLinkNodes p = this.Head; + while (p.Next != null && !p.Next.Data.Equals(value)) + { + p = p.Next; + } + if (p.Next.Data.Equals(value)) + { + return true; + } + return false; + } + #endregion + + #region Length + /// + /// 返回链表长度 + /// + /// + public int Size() + { + if (this.Head != null) + { + SingleLinkNodes p = this.Head; + int len = 0; + while (p.Next != null) + { + p = p.Next; + len++; + } + return len; + } + return 0; + } + #endregion + + #region Revert + /// + /// 反转字符串 + /// + public SingleLinkList RevertSingleLinkList() + { + SingleLinkNodes p = this.Head; + SingleLinkNodes q = this.Head.Next; + p.Next = null; + + while (q != null && q.Next != null) + { + SingleLinkNodes r = q.Next; + + q.Next = p; + p = q; + q = r; + } + + if (q != null && q.Next == null) + { + q.Next = p; + } + + SingleLinkList master = new SingleLinkList(); + master.Head.Next = p; + return master; + + } + + #endregion + + #region FindNode + /// + /// 寻找当前节点开始的第K个节点并返回 + /// + /// + /// + public SingleLinkNodes FindKth(int k) + { + int count = 1; + + SingleLinkNodes p = this.Head.Next; + + while (p != null && p.Next != this.Head && count < k) + { + count++; + p = p.Next; + } + + if (count == k) + { + return p; + } + + return null; + } + + /// + /// 寻找单链表当中的倒数第K个节点 + /// + /// + /// + public SingleLinkNodes FindLastKth(int k) + { + SingleLinkNodes first = this.Head.Next; + SingleLinkNodes second = this.Head.Next; + + int countFirst = 1; + + while (first != null && first.Next != null && countFirst < k) + { + countFirst++; + first = first.Next; + } + + if (countFirst == k) + { + while (first != null && first.Next != null) + { + first = first.Next; + second = second.Next; + } + + return second; + } + + return null; + } + #endregion + + + + } +} diff --git a/LinkedList/LinkedList/SingleLinkNodes.cs b/LinkedList/LinkedList/SingleLinkNodes.cs new file mode 100644 index 0000000000000000000000000000000000000000..daa88c2f771d422bb602102411e87e8a58b64362 --- /dev/null +++ b/LinkedList/LinkedList/SingleLinkNodes.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Text; + +namespace LinkedList +{ + public class SingleLinkNodeswhere T:IComparable + { + public T Data { get; set; } + public SingleLinkNodes Next { get; set; } + public SingleLinkNodes(T data) + { + this.Data = data; + } + public SingleLinkNodes(T data,SingleLinkNodes next) + { + this.Data = data; + this.Next = next; + } + + public SingleLinkNodes() + { + } + public void InsertAfter(T data) + { + SingleLinkNodes p = this; + + while (p.Next != null) + { + p = p.Next; + } + + SingleLinkNodes newNode = new SingleLinkNodes(data); + + p.Next = newNode; + } + + public SingleLinkNodes Combine(SingleLinkNodes secondLinkList) + { + if (secondLinkList == null) return this; + + SingleLinkNodes first = this; + SingleLinkNodes second = secondLinkList; + + SingleLinkNodes newHead = null; + + // 第一个链表的第一个元素大,我们取第二个链表的第一个元素为头 + if (first.Data.CompareTo( second.Data)>0) + { + newHead = second; + second = second.Next; + } + // 第二个链表的第一个元素大,我们取第一个链表的第一个元素为头 + else + { + newHead = first; + first = first.Next; + } + + SingleLinkNodes temp = newHead; + + while (first != null && second != null) + { + if (first.Data.CompareTo(second.Data)>0) + { + //调整newhead所在的链表,将second挂上去 + temp.Next = second; + second = second.Next; + } + else + { + //调整newhead所在的链表,将first挂上去 + temp.Next = first; + first = first.Next; + } + + temp = temp.Next; + } + + //第一个链表没有结束,第二个链表已经结束了 + if (first != null) + { + temp.Next = first; + } + + if (second != null) + { + temp.Next = second; + } + + return newHead; + } + } +} diff --git a/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.deps.json b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.deps.json new file mode 100644 index 0000000000000000000000000000000000000000..bf8cbfaca6a1555db75b3cc9f0467b398aef7bf2 --- /dev/null +++ b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.deps.json @@ -0,0 +1,23 @@ +{ + "runtimeTarget": { + "name": ".NETCoreApp,Version=v3.1", + "signature": "" + }, + "compilationOptions": {}, + "targets": { + ".NETCoreApp,Version=v3.1": { + "LinkedList/1.0.0": { + "runtime": { + "LinkedList.dll": {} + } + } + } + }, + "libraries": { + "LinkedList/1.0.0": { + "type": "project", + "serviceable": false, + "sha512": "" + } + } +} \ No newline at end of file diff --git a/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.dll b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.dll new file mode 100644 index 0000000000000000000000000000000000000000..d267d0f7f3be982380f97447d9bea36975cbf7fa Binary files /dev/null and b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.dll differ diff --git a/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.exe b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.exe new file mode 100644 index 0000000000000000000000000000000000000000..ac0131645c333d93f9ddf14389ed53c055570831 Binary files /dev/null and b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.exe differ diff --git a/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.pdb b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.pdb new file mode 100644 index 0000000000000000000000000000000000000000..870e2182ad02cb3183526a81ba2bcdc6910f8741 Binary files /dev/null and b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.pdb differ diff --git a/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.runtimeconfig.dev.json b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.runtimeconfig.dev.json new file mode 100644 index 0000000000000000000000000000000000000000..6e4c2dfeb923b2456256d1ec1c2366c3b4589ebd --- /dev/null +++ b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.runtimeconfig.dev.json @@ -0,0 +1,10 @@ +{ + "runtimeOptions": { + "additionalProbingPaths": [ + "C:\\Users\\Administrator\\.dotnet\\store\\|arch|\\|tfm|", + "C:\\Users\\Administrator\\.nuget\\packages", + "F:\\Microsoft\\Xamarin\\NuGet", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ] + } +} \ No newline at end of file diff --git a/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.runtimeconfig.json b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.runtimeconfig.json new file mode 100644 index 0000000000000000000000000000000000000000..bc456d7868bb54ec1809da30e339cd43f0a8a09c --- /dev/null +++ b/LinkedList/LinkedList/bin/Debug/netcoreapp3.1/LinkedList.runtimeconfig.json @@ -0,0 +1,9 @@ +{ + "runtimeOptions": { + "tfm": "netcoreapp3.1", + "framework": { + "name": "Microsoft.NETCore.App", + "version": "3.1.0" + } + } +} \ No newline at end of file diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs new file mode 100644 index 0000000000000000000000000000000000000000..ad8dfe1a6310302587a2d0c0111d81b250eb4105 --- /dev/null +++ b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs @@ -0,0 +1,4 @@ +// +using System; +using System.Reflection; +[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")] diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.AssemblyInfo.cs b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.AssemblyInfo.cs new file mode 100644 index 0000000000000000000000000000000000000000..6b65dd07c7f52aebb89f29b876182413708ced26 --- /dev/null +++ b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.AssemblyInfo.cs @@ -0,0 +1,23 @@ +//------------------------------------------------------------------------------ +// +// 此代码由工具生成。 +// 运行时版本:4.0.30319.42000 +// +// 对此文件的更改可能会导致不正确的行为,并且如果 +// 重新生成代码,这些更改将会丢失。 +// +//------------------------------------------------------------------------------ + +using System; +using System.Reflection; + +[assembly: System.Reflection.AssemblyCompanyAttribute("LinkedList")] +[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] +[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0")] +[assembly: System.Reflection.AssemblyProductAttribute("LinkedList")] +[assembly: System.Reflection.AssemblyTitleAttribute("LinkedList")] +[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] + +// 由 MSBuild WriteCodeFragment 类生成。 + diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.AssemblyInfoInputs.cache b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.AssemblyInfoInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..ae0e2f058f1b8caabf35cbf6d45a3b37fa1abbbc --- /dev/null +++ b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.AssemblyInfoInputs.cache @@ -0,0 +1 @@ +cd464f278748a64a5a0c1766f1e7255f44453e1c diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.assets.cache b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.assets.cache new file mode 100644 index 0000000000000000000000000000000000000000..e15103d277901b30c7c4a7f00ab4a2343f370014 Binary files /dev/null and b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.assets.cache differ diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csproj.CoreCompileInputs.cache b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csproj.CoreCompileInputs.cache new file mode 100644 index 0000000000000000000000000000000000000000..2e1bebbd2e9cbc771b2d55af97bac92c060ebf5d --- /dev/null +++ b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csproj.CoreCompileInputs.cache @@ -0,0 +1 @@ +92ae85e7ed578de8616a40c1d033fb522bdef194 diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csproj.FileListAbsolute.txt b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csproj.FileListAbsolute.txt new file mode 100644 index 0000000000000000000000000000000000000000..c58534b92454f85688af877c9fb2cea585e5a7d7 --- /dev/null +++ b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csproj.FileListAbsolute.txt @@ -0,0 +1,25 @@ +E:\项目\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.exe +E:\项目\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.deps.json +E:\项目\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.runtimeconfig.json +E:\项目\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.runtimeconfig.dev.json +E:\项目\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.dll +E:\项目\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.pdb +E:\项目\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.AssemblyInfoInputs.cache +E:\项目\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.AssemblyInfo.cs +E:\项目\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.csproj.CoreCompileInputs.cache +E:\项目\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.dll +E:\项目\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.pdb +E:\项目\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.genruntimeconfig.cache +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.csprojAssemblyReference.cache +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.AssemblyInfoInputs.cache +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.AssemblyInfo.cs +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.csproj.CoreCompileInputs.cache +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.dll +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.pdb +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.exe +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.deps.json +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.runtimeconfig.json +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.runtimeconfig.dev.json +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.dll +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\bin\Debug\netcoreapp3.1\LinkedList.pdb +C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\Debug\netcoreapp3.1\LinkedList.genruntimeconfig.cache diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csprojAssemblyReference.cache b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csprojAssemblyReference.cache new file mode 100644 index 0000000000000000000000000000000000000000..a0fbfd12797557adefa2aaaacd9d5126dec64303 Binary files /dev/null and b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.csprojAssemblyReference.cache differ diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.dll b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.dll new file mode 100644 index 0000000000000000000000000000000000000000..d267d0f7f3be982380f97447d9bea36975cbf7fa Binary files /dev/null and b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.dll differ diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.exe b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.exe new file mode 100644 index 0000000000000000000000000000000000000000..ac0131645c333d93f9ddf14389ed53c055570831 Binary files /dev/null and b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.exe differ diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.genruntimeconfig.cache b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.genruntimeconfig.cache new file mode 100644 index 0000000000000000000000000000000000000000..34bedab819ef1631d37d6e87ef9a716c545a105e --- /dev/null +++ b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.genruntimeconfig.cache @@ -0,0 +1 @@ +86c8e15dd33445635927cfaf398408205fd11473 diff --git a/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.pdb b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.pdb new file mode 100644 index 0000000000000000000000000000000000000000..870e2182ad02cb3183526a81ba2bcdc6910f8741 Binary files /dev/null and b/LinkedList/LinkedList/obj/Debug/netcoreapp3.1/LinkedList.pdb differ diff --git a/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.cache b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.cache new file mode 100644 index 0000000000000000000000000000000000000000..fe50d5ae026f80d629e40c79f9e10ced500ba150 --- /dev/null +++ b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.cache @@ -0,0 +1,5 @@ +{ + "version": 1, + "dgSpecHash": "MkYFFgXG6LiOnnMJ9put51V01HrL3m7bMKhAa9zM26oRMPNZGutcaQ9d2FplREtGWPyC5zqhE7wiKJJSIyF7lQ==", + "success": true +} \ No newline at end of file diff --git a/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.dgspec.json b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.dgspec.json new file mode 100644 index 0000000000000000000000000000000000000000..9692ff0318a64a4d29b11fa010e8bbda76bd870a --- /dev/null +++ b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.dgspec.json @@ -0,0 +1,65 @@ +{ + "format": 1, + "restore": { + "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj": {} + }, + "projects": { + "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj", + "projectName": "LinkedList", + "projectPath": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj", + "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "F:\\Microsoft\\Xamarin\\NuGet\\", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], + "configFilePaths": [ + "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" + ], + "originalTargetFrameworks": [ + "netcoreapp3.1" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netcoreapp3.1": { + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "netcoreapp3.1": { + "imports": [ + "net461", + "net462", + "net47", + "net471", + "net472", + "net48" + ], + "assetTargetFallback": true, + "warn": true, + "frameworkReferences": { + "Microsoft.NETCore.App": { + "privateAssets": "all" + } + }, + "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\3.1.301\\RuntimeIdentifierGraph.json" + } + } + } + } +} \ No newline at end of file diff --git a/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.g.props b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.g.props new file mode 100644 index 0000000000000000000000000000000000000000..b30120d847b48a4611523f7ccb7c592606586388 --- /dev/null +++ b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.g.props @@ -0,0 +1,15 @@ + + + + True + NuGet + C:\Users\Administrator\Desktop\新建文件夹 (2)\lec02-linkedlist\LinkedList\LinkedList\obj\project.assets.json + $(UserProfile)\.nuget\packages\ + C:\Users\Administrator\.nuget\packages\;F:\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder + PackageReference + 4.9.3 + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + \ No newline at end of file diff --git a/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.g.targets b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.g.targets new file mode 100644 index 0000000000000000000000000000000000000000..53cfaa19b16f3769b2bfc33db3b5c0053c16fdba --- /dev/null +++ b/LinkedList/LinkedList/obj/LinkedList.csproj.nuget.g.targets @@ -0,0 +1,6 @@ + + + + $(MSBuildAllProjects);$(MSBuildThisFileFullPath) + + \ No newline at end of file diff --git a/LinkedList/LinkedList/obj/project.assets.json b/LinkedList/LinkedList/obj/project.assets.json new file mode 100644 index 0000000000000000000000000000000000000000..327416cc347fc69352e3793ba4758f1721b675e9 --- /dev/null +++ b/LinkedList/LinkedList/obj/project.assets.json @@ -0,0 +1,61 @@ +{ + "version": 3, + "targets": { + ".NETCoreApp,Version=v3.1": {} + }, + "libraries": {}, + "projectFileDependencyGroups": { + ".NETCoreApp,Version=v3.1": [] + }, + "packageFolders": { + "C:\\Users\\Administrator\\.nuget\\packages\\": {}, + "F:\\Microsoft\\Xamarin\\NuGet\\": {}, + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {} + }, + "project": { + "version": "1.0.0", + "restore": { + "projectUniqueName": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj", + "projectName": "LinkedList", + "projectPath": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj", + "packagesPath": "C:\\Users\\Administrator\\.nuget\\packages\\", + "outputPath": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\obj\\", + "projectStyle": "PackageReference", + "fallbackFolders": [ + "F:\\Microsoft\\Xamarin\\NuGet\\", + "C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder" + ], + "configFilePaths": [ + "C:\\Users\\Administrator\\AppData\\Roaming\\NuGet\\NuGet.Config", + "C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config", + "C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config" + ], + "originalTargetFrameworks": [ + "netcoreapp3.1" + ], + "sources": { + "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {}, + "https://api.nuget.org/v3/index.json": {} + }, + "frameworks": { + "netcoreapp3.1": { + "projectReferences": {} + } + }, + "warningProperties": { + "warnAsError": [ + "NU1605" + ] + } + }, + "frameworks": { + "netcoreapp3.1": { + "imports": [ + "net461" + ], + "assetTargetFallback": true, + "warn": true + } + } + } +} \ No newline at end of file diff --git a/LinkedList/LinkedList/obj/project.nuget.cache b/LinkedList/LinkedList/obj/project.nuget.cache new file mode 100644 index 0000000000000000000000000000000000000000..e57c98b5c42ccb70e300fe759412f3b745059351 --- /dev/null +++ b/LinkedList/LinkedList/obj/project.nuget.cache @@ -0,0 +1,8 @@ +{ + "version": 2, + "dgSpecHash": "VVa7xaEdkUEVPSVdGPccBqfjhPabgTVRQWBN2JCja6gmZ7V9QLwhz6SPCbojRVJRaT8aPAx8Nrp4ZJ7aWd78yA==", + "success": true, + "projectFilePath": "C:\\Users\\Administrator\\Desktop\\新建文件夹 (2)\\lec02-linkedlist\\LinkedList\\LinkedList\\LinkedList.csproj", + "expectedPackageFiles": [], + "logs": [] +} \ No newline at end of file