Beispiel #1
0
        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);
        }
Beispiel #2
0
        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
        }
Beispiel #3
0
        public Blist Duplicate()
        {
            Blist copy = this;

            return(copy);
        }