⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 testlist.cpp

📁 unix下的 Clist类实现
💻 CPP
字号:
#include "CListNode1.h"
#include "CList.h"
#include<stdio.h>
/****************************************************************
 *
 *	Function:fnViewNode
 *	Purpose:查看单一节点
 *		
 ****************************************************************/
void fnViewNode(CListNode1* pTravel)
{
		if (pTravel==NULL)
		{
			printf("Error:point to NULL\n");
			return;
		}
		printf("%5s|%10s|%3d|%20s\n",
				pTravel->fnGetName(),
				pTravel->fnGetGender(),
				pTravel->fnGetAge(),
				pTravel->fnGetNativePlace());
}
/****************************************************************
 *
 *	Function:fnTravleList
 *	Purpose:遍历CListNode1的列表
 *		
 ****************************************************************/
void fnTravleList(CList<CListNode1>* plstDBInfoNode)
{
	CListNode1* pTravel;
	pTravel = (CListNode1*)plstDBInfoNode->fnGetHead();
	while(pTravel!= NULL)
	{
		printf("%5s|%10s|%3d|%20s\n",
				pTravel->fnGetName(),
				pTravel->fnGetGender(),
				pTravel->fnGetAge(),
				pTravel->fnGetNativePlace());
		pTravel = (CListNode1*)pTravel->fnGetNext();
	}
	/*打印节点数目*/
	printf("The Number is :%d\n",plstDBInfoNode->fnGetListNum());
}

/****************************************************************
 *
 *	Function:fnBuilder
 *	Purpose:生成CListNode1的列表,并实现对列表的操作
 *		
 ****************************************************************/
int fnBuilder(CList<CListNode1>* plstDBInfoNode)
{
	/*定义节点以便充值并加入到链表中*/
	CListNode1* pCListNode1;
	CListNode1* pCListNode2;
	CListNode1* pCListNode3;
	CListNode1* pCListNodeTemp;
	
	char strName[5],strGender[10],iAge,strNativePlace[20];
	strcpy(strName,"lian1");
	strcpy(strGender,"male1");
	iAge=23;
	strcpy(strNativePlace,"nanjing1");
	pCListNode1 = new CListNode1(strName,strGender,iAge,strNativePlace);
	/*加入到链表之中*/
	plstDBInfoNode->fnAdd(pCListNode1);


	strcpy(strName,"lian2");
	strcpy(strGender,"male2");
	iAge=24;
	strcpy(strNativePlace,"nanjing2");
	pCListNode2 = new CListNode1(strName,strGender,iAge,strNativePlace);
	/*加入到链表之中*/
	plstDBInfoNode->fnAdd(pCListNode2);



	strcpy(strName,"lian3");
	strcpy(strGender,"female3");
	iAge=25;
	strcpy(strNativePlace,"nanjing3");
	pCListNode3 = new CListNode1(strName,strGender,iAge,strNativePlace);
	/*加入到链表之中*/
	plstDBInfoNode->fnAdd(pCListNode3);
	
	printf("遍历\n");
	fnTravleList(plstDBInfoNode);
	
	/*得到头指针*/
	pCListNodeTemp = (CListNode1*)plstDBInfoNode->fnGetHead();
	
	printf("查看头节点\n");
	fnViewNode(pCListNodeTemp);
	
	pCListNodeTemp = (CListNode1*)pCListNodeTemp->fnGetNext();
	printf("查看第二个节点\n");
	fnViewNode(pCListNodeTemp);
	
	pCListNodeTemp = (CListNode1*)pCListNodeTemp->fnGetNext();
	printf("查看第三个节点\n");
	fnViewNode(pCListNodeTemp);
	
	pCListNodeTemp = (CListNode1*)pCListNodeTemp->fnGetPrev();
	printf("查看第二个节点\n");
	fnViewNode(pCListNodeTemp);
	
	pCListNodeTemp = (CListNode1*)pCListNodeTemp->fnGetPrev();
	printf("查看第一个节点\n");
	fnViewNode(pCListNodeTemp);
	

	/*删除第二个节点*/
	plstDBInfoNode->fnRemove(pCListNode2);
	/*遍历*/
	printf("删除第二个结点后遍历\n");
	fnTravleList(plstDBInfoNode);

	/*删除所有节点*/
	plstDBInfoNode->fnRemoveAll();
	/*遍历*/
	printf("删除所有的结点后遍历\n");
	fnTravleList(plstDBInfoNode);
	

	return 0;

	

}

int main(int argc, char *argv[])
{
	CList<CListNode1>* plstDBInfoNode;
	plstDBInfoNode = new CList<CListNode1>;
	fnBuilder(plstDBInfoNode);
	return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -