WEB开发网
开发学院软件开发C语言 C#上机题 - 双向循环链表 阅读

C#上机题 - 双向循环链表

 2010-09-30 21:00:02 来源:WEB开发网   
核心提示: 由于没用使用DoubleLinkNode<T>[] 来存储数据,所以索引的处理显得非常的麻烦(如果用了数组就存在链表的容量问题),C#上机题 - 双向循环链表(3),希望高手们能给出好的方法,下面就是具体实现了classProgram{staticvoidMain(string[]a

由于没用使用DoubleLinkNode<T>[] 来存储数据,所以索引的处理显得非常的麻烦(如果用了数组就存在链表的容量问题),希望高手们能给出好的方法。

下面就是具体实现了

class Program
    {
        static void Main(string[] args)
        {
            //初始化数据
            CircleList<Person> list = new CircleList<Person>();
            for (int i = 0; i < 17; i++)
            {
                list.AddLast(new Person(i + 1));
            }
            //当前报数人
            DoubleLinkNode<Person> current = list.First;
            //报数序号
            int k = 0;
            //循环报数
            while (list.Count > 1)
            {
                k++;
                Console.WriteLine(string.Format("{0}:{1}", current.Value.Id, k));
                if (k % 3 == 0)
                    list.Remove(current);
                current = current.Next;
            }
            Console.WriteLine(string.Format("Last Person:{0}", current.Value.Id));
            Console.Read();
        }
    }
    /// <summary>
    /// 玩家
    /// </summary>
    public class Person
    {
        public Person(int id)
        {
            this.Id = id;
        }
        public int Id { get; set; }
    }

下面是结果

C#上机题 - 双向循环链表

上一页  1 2 3 

Tags:上机 双向 循环

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接