当前位置: 首页>>代码示例>>C++>>正文


C++ DoubleLinkedList::Last方法代码示例

本文整理汇总了C++中DoubleLinkedList::Last方法的典型用法代码示例。如果您正苦于以下问题:C++ DoubleLinkedList::Last方法的具体用法?C++ DoubleLinkedList::Last怎么用?C++ DoubleLinkedList::Last使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在DoubleLinkedList的用法示例。


在下文中一共展示了DoubleLinkedList::Last方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: TestFirstAndLast

void TestFirstAndLast(const DoubleLinkedList<int> & alist)
{
	DoubleLinkedList<int> blist;

	std::cout << "\n********** First and Last **********" << std::endl;

	// Full List
	std::cout << alist.First() << std::endl;
	std::cout << alist.Last() << std::endl;

	// Empty List
	try
	{
		std::cout << blist.First() << std::endl;
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
	try
	{
		std::cout << blist.Last() << std::endl;
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
}
开发者ID:Lydiasaurus,项目名称:Personal,代码行数:28,代码来源:Main.cpp

示例2: TestPrepend

void TestPrepend(DoubleLinkedList<int> & alist)
{
	DoubleLinkedList<int> blist;

	std::cout << "\n********** Prepend **********" << std::endl;

	// Full List
	alist.Prepend(4);
	alist.Prepend(3);
	alist.Prepend(2);
	alist.Prepend(1);
	alist.Prepend(0);

	std::cout << alist.First() << std::endl;
	std::cout << alist.Last() << std::endl;

	// Empty List
	blist.Prepend(100);
	blist.Prepend(200);
	blist.Prepend(300);
	blist.Prepend(400);
	blist.Prepend(500);

	std::cout << blist.First() << std::endl;
	std::cout << blist.Last() << std::endl;
}
开发者ID:Lydiasaurus,项目名称:Personal,代码行数:26,代码来源:Main.cpp

示例3: TestFirstAndLast

void TestFirstAndLast(const DoubleLinkedList<int> & alist)
{
    DoubleLinkedList<int> blist;
    
    std::cout << "\n********** Testing: DoubleLinkedList First and Last **********" << std::endl;
    
    std::cout << "\n********** Testing: First and Last with Full List **********" << std::endl;
    std::cout << alist.First() << std::endl;
    std::cout << alist.Last() << std::endl;
    
    std::cout << "\n********** Testing: First with Empty List **********" << std::endl;
    try
    {
        std::cout << blist.First() << std::endl;
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
    std::cout << "\n********** Testing: First with Empty List **********" << std::endl;
    try
    {
        std::cout << blist.Last() << std::endl;
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
}
开发者ID:3jackdaws,项目名称:DoubleLL,代码行数:29,代码来源:stub.cpp

示例4: TestExtract

void TestExtract()
{
	DoubleLinkedList<int> alist;

	std::cout << "\n********** Extract **********" << std::endl;

	// Empty List
	try
	{
		alist.Extract(0);
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
	// Head and Tail are the same
	alist.Append(0);
	alist.Extract(0);

	try
	{
		std::cout << alist.First() << std::endl;
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}

	try
	{
		std::cout << alist.Last() << std::endl;
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}

	// Remove Head
	alist.Append(0);
	alist.Append(1);
	alist.Extract(0);

	std::cout << alist.First() << std::endl;
	std::cout << alist.Last() << std::endl;

	// Remove Tail
	alist.Prepend(0);
	alist.Extract(1);

	std::cout << alist.First() << std::endl;
	std::cout << alist.Last() << std::endl;
}
开发者ID:Lydiasaurus,项目名称:Personal,代码行数:52,代码来源:Main.cpp

示例5: TestInsertAfter

void TestInsertAfter()
{
    DoubleLinkedList<int> clist;
    
    std::cout << "\n********** Testing: DoubleLinkedList InsertAfter **********" << std::endl;
    
    std::cout << "\n********** Testing: InsertAfter with Empty List **********" << std::endl;
    try
    {
        //Note: Here is the function signature so you can determine the order of parameters
        //void DoubleLinkedList<T>::InsertAfter(const T & new_data, const T & existing_data)
        clist.InsertAfter(-1, 0);
    }
    catch(const char * msg)
    {
        std::cout << msg << std::endl;
    }
    std::cout << "\n********** Testing: InsertAfter tail with only one node **********" << std::endl;
    clist.Append(0);
    clist.InsertAfter(1, 0);
    
    std::cout << clist.First() << std::endl;
    std::cout << clist.Last() << std::endl;
    
    std::cout << "\n********** Testing: InsertAfter tail with multiple nodes **********" << std::endl;
    clist.InsertAfter(3, 1);
    
    std::cout << clist.First() << std::endl;
    std::cout << clist.Last() << std::endl;
    
    std::cout << "\n********** Testing: InsertAfter a node in the middle of the list **********" << std::endl;
    clist.InsertAfter(2, 1);
    
    std::cout << clist.First() << std::endl;
    std::cout << clist.Last() << std::endl;
    
    std::cout << "\n********** Testing: InsertAfter but existing_data doesn't exist **********" << std::endl;
    try
    {
        clist.InsertAfter(-2, 99);
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
}
开发者ID:3jackdaws,项目名称:DoubleLL,代码行数:46,代码来源:stub.cpp

示例6: TestInsertBefore

void TestInsertBefore()
{
	DoubleLinkedList<int> clist;

	std::cout << "\n********** InsertBefore **********" << std::endl;

	// Empty List
	try
	{
		clist.InsertBefore(-1, 0);
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
	// Head and Tail are the same
	clist.Append(0);
	clist.InsertBefore(-1, 0);

	std::cout << clist.First() << std::endl;
	std::cout << clist.Last() << std::endl;

	// Before Head
	clist.InsertBefore(-3, -1);

	std::cout << clist.First() << std::endl;
	std::cout << clist.Last() << std::endl;

	// Middle
	clist.InsertBefore(-2, -1);

	std::cout << clist.First() << std::endl;
	std::cout << clist.Last() << std::endl;

	// Node doesn't exist
	try
	{
		clist.InsertBefore(-2, 99);
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
}
开发者ID:Lydiasaurus,项目名称:Personal,代码行数:44,代码来源:Main.cpp

示例7: TestInsertAfter

void TestInsertAfter()
{
	DoubleLinkedList<int> clist;

	std::cout << "\n********** InsertAfter **********" << std::endl;

	try
	{
		clist.InsertAfter(-1, 0);
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
	// Head and Tail are the same
	clist.Append(0);
	clist.InsertAfter(1, 0);

	std::cout << clist.First() << std::endl;
	std::cout << clist.Last() << std::endl;

	// After Tail
	clist.InsertAfter(3, 1);

	std::cout << clist.First() << std::endl;
	std::cout << clist.Last() << std::endl;

	// Middle
	clist.InsertAfter(2, 1);

	std::cout << clist.First() << std::endl;
	std::cout << clist.Last() << std::endl;

	// Node doesn't exist
	try
	{
		clist.InsertAfter(-2, 99);
	}
	catch (char * msg)
	{
		std::cout << msg << std::endl;
	}
}
开发者ID:Lydiasaurus,项目名称:Personal,代码行数:43,代码来源:Main.cpp

示例8: TestAppend

void TestAppend(DoubleLinkedList<int> & alist)
{
    std::cout << "\n********** Testing: DoubleLinkedList Append **********" << std::endl;
    
    alist.Append(5);
    alist.Append(15);
    alist.Append(25);
    alist.Append(35);
    
    std::cout << alist.First() << std::endl;
    std::cout << alist.Last() << std::endl;
}
开发者ID:3jackdaws,项目名称:DoubleLL,代码行数:12,代码来源:stub.cpp

示例9: TestExtract

void TestExtract()
{
    DoubleLinkedList<int> alist;
    
    std::cout << "\n********** Testing: DoubleLinkedList Extract **********" << std::endl;
    
    std::cout << "\n********** Testing: Extract with empty list**********" << std::endl;
    try
    {
        //Note: The parameter is the DATA to be removed
        alist.Extract(0);
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
    std::cout << "\n********** Testing: Extract removing only node **********" << std::endl;
    alist.Append(0);
    alist.Extract(0);
    
    try
    {
        std::cout << alist.First() << std::endl;
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
    try
    {
        std::cout << alist.Last() << std::endl;
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
    
    std::cout << "\n********** Testing: Extract removing head **********" << std::endl;
    alist.Append(0);
    alist.Append(1);
    alist.Extract(0);
    
    std::cout << alist.First() << std::endl;
    std::cout << alist.Last() << std::endl;
    
    std::cout << "\n********** Testing: Extract removing tail **********" << std::endl;
    alist.Prepend(0);
    alist.Extract(1);
    
    std::cout << alist.First() << std::endl;
    std::cout << alist.Last() << std::endl;
    
    std::cout << "\n********** Testing: Extract removing non-existing node **********" << std::endl;
    alist.Append(0);
    alist.Append(1);
    
    try
    {
        alist.Extract(99);
    }
    catch (const char * msg)
    {
        std::cout << msg << std::endl;
    }
}
开发者ID:3jackdaws,项目名称:DoubleLL,代码行数:65,代码来源:stub.cpp


注:本文中的DoubleLinkedList::Last方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。