C#链表问题,新手求教
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace xxx
{
interface ILinarList<T>
{
void InsertNode_End(T a);
void InsertNode(T a, int x);
int GetLength();
}
class SLinkList<T> : ILinarList<T>
{
private SNode<T> start;
private int length;
public SLinkList()
{
start = null;
length = 0;
}
public void InsertNode_End(T a)
{
SNode<T> current;
if (start == null)
{
start = new SNode<T>(a);
length++;
return;
}
current = start;
while (current.Next != null)
{
current = current.Next;
}
current.Next = new SNode<T>(a);
length++;
}
public void InsertNode(T a, int x)
{
SNode<T> current;
SNode<T> previous = null ;
SNode<T> newNode = new SNode<T>(a);
if (x == 1)
{
newNode.Next = start;
start.Next = newNode;
length++;
return;
}
int i = 1;
current = start;
while (i != x)
{
previous = current;
current = current.Next;
}
previous.Next = newNode;
newNode.Next = current;
length++;
}
public int GetLength()
{
return length;
}
}
class SNode<T>
{
private T data;
private SNode<T> next;
public SNode(T a)
{
data = a;
next = null;
}
public T Data
{
get
{
return data;
}
set
{
data = value;
}
}
public SNode<T> Next
{
get
{
return next;
}
set
{
next = value;
}
}
}
class Stu_Node
{
private string stu_ID;
private string stu_Name;
private int stu_Score;
public Stu_Node(string stu_ID, string stu_Name, int stu_Score)
{
this.stu_ID = stu_ID;
this.stu_Name = stu_Name;
this.stu_Score = stu_Score;
}
public override string ToString()
{
return stu_ID + stu_Name;
}
}
class Program
{
static void Main(st