欢迎来到天天文库
浏览记录
ID:34772666
大小:136.13 KB
页数:19页
时间:2019-03-10
《数据结构链式字符串》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、#include//多用链表结点templatestructDblNode{ETdata;//结点数据域,存储该结点的数据部分DblNode*next;//结点指针域,指示下一个节点的位置DblNode*back;//指向结点的前驱DblNode(){next=NULL;back=NULL;}//无参数结点构造函数,用于未给定参数时结点的初始化};//======================================================
2、==============================================================================////链表类部分////====================================================================================================================================templateclassLinkList{protec
3、ted:ETdataTmp;//用于临时存取数据,供成员函数使用intcount,cTmp;//count用于计数表元素个数,即表长;cTmp用于临时计数用DblNode*head,*tail,*pTmp;//*head记录表头的位置;*tail记录表尾的位置;*pTmp记录每次操作结点的指针位置public:LinkList(){count=cTmp=0;head=tail=pTmp=NULL;}//链表构造函数~LinkList(){Clear();}//链表析构函数//链表相关操作intLength(
4、){returncount;}//用于获取当前标的长度voidClear(){while(count)DelHead();}//表清空voidShow();//输出表中现有的所有元素voidReShow();//逆序输出表中现有的所有元素DblNode*GetPosP(intpostion);//获取指向第postion个位置结点的指针voidHeadInsert(ET&e);//从表头插入元素voidTailInsert(ET&e);//从表尾插入元素voidInsert(intposition,ET&e
5、);//向表中第postion个位置插入新的结点元素,元素总数加一voidReTailInsert(intposition,ET&e);//重置表中第cTmp个位置元素的数据部分为e,元素总数不变voidGetElem(intposition,ET&e);//从表中获取第cTmp元素,写入e中,由e输出voidDelHead();//删除表头voidDelTail();//删除表尾voidDelElem(intposition);//删除表中第cTmp个位置的元素.元素减一voidoperator=(LinkLis
6、t&cop);//赋值符重载函数,实现链表的复制功能voidSUB(LinkList&A,LinkList&B);//实现链表相减,将仅存在于A中的元素写入当前链表voidADD(LinkList&A,LinkList&B);//实现链表相加,将表A表B中的元素依次写入当前链表voidSeprate();//奇偶分离函数,使得所有奇数均排列在偶数前voidSort();//对链表中的元素进行排序voidKillDouble();//对链表中的元素进行排序去重voidCinHe
7、lp();//提示输入函数,用于实现键盘输入交互式操作};templatevoidLinkList::Show(){cTmp=count;pTmp=head;//指向头指针的第一个后继cout<0&&count>0)//当表中有元素时{dataTmp=pTmp->data;cout<8、=pTmp->next;//每输出一位向后移动一位}cout<voidLinkList::ReShow(){cTmp=count;pTmp=tail;//指向头指针的第一个后继cout<0&
8、=pTmp->next;//每输出一位向后移动一位}cout<voidLinkList::ReShow(){cTmp=count;pTmp=tail;//指向头指针的第一个后继cout<0&
此文档下载收益归作者所有