public Blist Merge(Blist add) { Blist result = this; Node p = result.Head; for (int i = 0; i < result.LastNumber - 1; i++) { p = p.Next; } p.Next = add.Head; result.LastNumber += add.LastNumber; return(result); }
static void Main(string[] args) { //.Net Framework 4.5 //代码中存储数据类型选择以整型为例 //每次主函数中仅保留一个功能模块的代码,其余已被注释,若要运行测试,请自行注释/取消注释 #region 顺序存储测试 //int[] exam = { 5, 6, 2, 98, 12, 33, 0, 1 }; //Alist example = new Alist(exam, 100); //Alist example1 = example.Duplicate(); //Alist example2 = example.Merge(example1); //example.Print(); //example2.Print(); //example.Sort(); //example.Print(); //example.Replace(3, 999); //example.Replace(5, 999); //example.Print(); //Console.WriteLine(example.SetPos(999)); //Console.WriteLine(example.GetValue(4)); //example.Insert(3, 55); //example.Print(); //example.Delete(1); //example.Print(); //example.Replace(6, 666); //example.Print(); //example.Remove(3); //example.Print(); //example.Clear(); //Console.WriteLine(example.IsEmpty()); //Console.WriteLine(example.IsFull()); //example.Print(); #endregion #region 链式存储测试 int[] exam2 = { 5, 6, 2, 98, 12, 33, 0, 1, 5, 0, 45 }; int[] exam3 = { 9, 8, 7, 6, 5, 4, 3, 2, 1 }; Blist example11 = new Blist(exam2); example11.Print(); Console.WriteLine(example11.GetValue(5)); example11.Insert(1, 10); example11.Print(); example11.Insert(5, 100); example11.Print(); example11.Delete(1); example11.Print(); example11.Delete(8); example11.Print(); Console.WriteLine(example11.GetPos(5)); Console.WriteLine(example11.GetPos(999)); Blist example12 = example11.Duplicate(); example12.Print(); example11.Remove(10); example11.Print(); example11.Replace(6, 6666); example11.Print(); Blist example13 = new Blist(exam3); example11.Merge(example13).Print(); example11.Sort(); example11.Print(); #endregion }
public Blist Duplicate() { Blist copy = this; return(copy); }