C#上机题 - 双向循环链表
2010-09-30 21:00:02 来源:WEB开发网由于没用使用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; }
}
下面是结果
- ››循环不间断向上滚动的文本特效代码
- ››循环链表实验
- ››双向链表的排序
- ››双向链表&&堆栈
- ››循环复用DNS实现多服务器的负载均衡
更多精彩
赞助商链接