// This is the main DLL file. #include "stdafx.h" #include "LinkedListLibrary.h" using namespace LinkedListLibrary; ListNode::ListNode(IComparable* datainput) { data=datainput; next=NULL; } ListNode::ListNode(IComparable* datainput, ListNode* link) { data=datainput; next=link; } List::List( String* stringname) { first=NULL; name=stringname; } List::List() { first=NULL; } void List::AddNode(IComparable* newdata) { ListNode* newnode=new ListNode(newdata); if (first==NULL) first=newnode; else if (first->get_Data()->CompareTo(newdata)>0) { newnode->set_Next(first); first=newnode; } else { ListNode* p=Search(newdata); newnode->set_Next(p->get_Next()); p->set_Next(newnode); } } ListNode* List::Search(IComparable* datainput) { ListNode* p=first; // while(p!=NULL && !Equals(p->get_Data(),datainput)) while(p!=NULL && p->get_Next()!=NULL && (p->get_Next()->get_Data()->CompareTo(datainput)<0 || p->get_Next()->get_Data()->CompareTo(datainput)==0)) { p=p->get_Next(); } return p; } void List::Print() { ListNode* p; p=first; while (p!=NULL) { Console::Write(S"\n {0}",p->get_Data()->ToString()); p=p->get_Next(); } }