
用c#变成解决猴子选大王问题(用单循环链表实现,要详细程序)
展开全部
也是百度上的
private void MonkeyToKing()
{
int M = int.Parse(textBox1.Text);//表示猴子总数.
int N = int.Parse(textBox2.Text);//表示数到几猴子出列.
List<int> monkeys = new List<int>();
for (int i = 1; i <= M; i++)
{
monkeys.Add(i);
}
int currentIndex = 0;
while (true)
{
for (int i = 1; i <= N; i++)
{
if (i == N)
{
Console.WriteLine("del:" + monkeys[currentIndex].ToString());
monkeys.RemoveAt(currentIndex);
if (monkeys.Count == 1)
{
Console.WriteLine(monkeys[0]);
return;
}
}
else
{
currentIndex++;
}
if (currentIndex >= monkeys.Count)
{
currentIndex = 0;
}
}
}
}
实际上一个LIST就可以看成一个单循环链表了
private void MonkeyToKing()
{
int M = int.Parse(textBox1.Text);//表示猴子总数.
int N = int.Parse(textBox2.Text);//表示数到几猴子出列.
List<int> monkeys = new List<int>();
for (int i = 1; i <= M; i++)
{
monkeys.Add(i);
}
int currentIndex = 0;
while (true)
{
for (int i = 1; i <= N; i++)
{
if (i == N)
{
Console.WriteLine("del:" + monkeys[currentIndex].ToString());
monkeys.RemoveAt(currentIndex);
if (monkeys.Count == 1)
{
Console.WriteLine(monkeys[0]);
return;
}
}
else
{
currentIndex++;
}
if (currentIndex >= monkeys.Count)
{
currentIndex = 0;
}
}
}
}
实际上一个LIST就可以看成一个单循环链表了
追问
那个问题已经解决了,但是还是谢谢你。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
参照楼下的代码,将其做成循环链表就行。尾指针指向第一个元素就构成循环链表了
追问
那个问题已解决,但是还是谢谢你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询