Visual C++ .NET/Collections/LinkedList

Материал из .Net Framework эксперт
Версия от 12:05, 26 мая 2010; Admin (обсуждение | вклад) (1 версия)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Add to the first of a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
}


Add to the last of a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
}


Create LinkedList from array

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
}


Find an element in a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
    
    LinkedListNode<String^>^ node = list->Find("5");
    list->AddBefore(node, "Five");
    list->Remove(node);
}


Get element count in a LinedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
    
    Console::WriteLine("\nNumber of elements = {0}", list->Count);
}


Insert after the first element in a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
}


Insert before the last element in a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
}


Refernece the first and last in a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
}


Remove a node from a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
    
    LinkedListNode<String^>^ node = list->Find("5");
    list->AddBefore(node, "Five");
    list->Remove(node);
}


Remove the first element

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
    
    list->RemoveFirst();
}


Use while and LinkedList pointer to loop through a LinkedList

 
#include "stdafx.h"
#using <system.dll>
using namespace System;
using namespace System::Collections::Generic;
int main()
{
    array<String^>^ arrList = gcnew array<String^> {"Two", "Three", "Four"};
    LinkedList<String^>^ list = gcnew LinkedList<String^>((IEnumerable<String^>^)arrList);
    list->AddLast("Six");
    list->AddFirst("Zero");
    list->AddAfter(list->First, "One");
    list->AddBefore(list->Last, "5");
    
    LinkedListNode<String^>^ current = list->Last;
    while (current != nullptr){
        Console::WriteLine(current->Value);
        current = current->Previous;
    }
}