Untitled
unknown
plain_text
4 years ago
2.0 kB
8
Indexable
class LinkListGen<T> where T : IComparable
{
private LinkGen<T> list = null; //default value – empty list
public void AddItem(T item) //add item to front of list
{
list = new LinkGen<T>(item, this.list);
}
public string DisplayItems() //write items to string and return
{
LinkGen<T> temp = list;
string buffer = "";
while (temp != null) // move one link and add head to the buffer
{
buffer = buffer + temp.Data + ",";// use this instead of console.writeline as this can be viewed in gui not only console apps
temp = temp.Next;
}
return buffer;
}
public int Count() // returns number of items in list
{
int count = 0;
LinkGen<T> temp = list;
while (temp != null)
{
count += 1;
temp = temp.Next;
// Console.WriteLine("Number of items in list ", count);
}
return count;
}
public void AppendItem(T item)
{
LinkGen<T> temp = list;
if (temp == null)
list = new LinkGen<T>(item);
else
{
while (temp.Next != null)
{
temp = temp.Next;
}
temp.Next = new LinkGen<T>(item);
}
}
public void RemoveItem(T item)
{
LinkGen<T> temp = list;
LinkListGen<T> newList = new LinkListGen<T>();
while (temp != null)
{
if (item.CompareTo(temp.Data) != 0)
newList.AppendItem(temp.Data);
temp = temp.Next;
}
list = newList.list;
}Editor is loading...