📄 testlist.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 + -