这是我到目前为止所拥有的。我已经生成了一个链接列表,但是当程序打印出链接列表时,会弹出一个弹出窗口,表示我的程序已停止工作。我正在使用visual studio。我需要使用链表实现队列。我能够创建并打印出来,但是当它打印出来时,程序就会停止。我已经尝试了一切,但我似乎无法让这个错误消失。当我尝试在链表类中使用其他方法但我没有包含这些方法时,也会发生这种情况。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace CSCI3230_Project2_Zack_Davidson
{
class Program
{
static void Main(string[] args)
{
int count = 0;
LinkedList list = new LinkedList();
for (int i = 1; i <= 20; i++)
{
list.Add(new Node(i));
count++;
}
Console.WriteLine("I have generated a queue with 20 elements. I have printed the queue below.");
list.PrintNodes();
}
}
public class Node
{
public Node next;
public int data;
public Node(int val)
{
data = val;
next = null;
}
}
public class LinkedList
{
public TimeSpan runTimer;
public System.Diagnostics.Stopwatch
stopwatch = new System.Diagnostics.Stopwatch();
Node front;
Node current;
public void Add(Node n)
{
if (front == null)
{
front = n;
current = front;
}
else
{
current.next = n;
current = current.next;
}
}
public void PrintNodes()
{
Node print = front;
while (front != null)
{
Console.WriteLine(print.data);
print = print.next;
}
/*while (front != null)
{
Console.WriteLine(front.data);
front = front.next;
}*/
}
}//EndofNameSpace
答案 0 :(得分:4)
你的程序在这里遇到了无限循环:
Node print = front;
while (front != null)
{
Console.WriteLine(print.data);
print = print.next;
}
前面永远不会是空的。 你应该打印!= null。