第九章群体类内容摘要:

ClearList(NodeT * amp。 head) { NodeT *currPtr, *nextPtr。 currPtr = head。 while(currPtr != NULL) { nextPtr = currPtrNextNode( )。 delete currPtr。 currPtr = nextPtr。 } head = NULL。 } endif // NODE_LIBRARY 前一页 休息 27 例 链表应用举例 从键盘输入 10个整数,用这些整数值作为结点数据,生成一个链表,按顺序输出链表中结点的数值。 然后从键盘输入一个待查找整数,在链表中查找该整数,若找到则删除该整数所在的结点(如果出现多次,全部删除),然后输出删除结点以后的链表。 在程序结束之前清空链表。 顺序访问线性群体 include include include void main(void) { Nodeint *head = NULL, *prevPtr, *delPtr。 int i, key, item。 for (i=0。 i 10。 i++) { cinitem。 InsertFront(head, item)。 } cout List:。 PrintList(head,noNewline)。 cout endl。 cout 请输入一个需要删除的整数 :。 cin key。 prevPtr = head。 while (Find(head,key,prevPtr) != NULL) { if(prevPtr == NULL) head = headNextNode( )。 else delPtr=prevPtrDeleteAfter( )。 delete delPtr。 } cout List:。 PrintList(head,noNewline)。 cout endl。 ClearList(head)。 } 前一页 休息 30 例 96 链表类模板 // ifndef LINKEDLIST_CLASS define LINKEDLIST_CLASS include include ifndef NULL const int NULL = 0。 endif // NULL include 顺序访问线性群体 template class T class LinkedList { private: NodeT *front, *rear。 NodeT *prevPtr, *currPtr。 int size。 int position。 NodeT *GetNode(const Tamp。 item, NodeT *ptrNext=NULL)。 void FreeNode(NodeT *p)。 void CopyList(const LinkedListTamp。 L)。 public: LinkedList(void)。 LinkedList(const LinkedListTamp。 L)。 ~LinkedList(void)。 LinkedListTamp。 operator= (const LinkedListTamp。 L)。 int ListSize(void) const。 int ListEmpty(void) const。 void Reset(int pos = 0)。 void Next(void)。 int EndOfList(void) const。 int CurrentPosition(void) const。 void InsertFront(const Tamp。 item)。 void InsertRear(const Tamp。 item)。 void InsertAt(const Tamp。 item)。 void InsertAfter(const Tamp。 item)。 T DeleteFront(void)。 void DeleteAt(void)。 Tamp。 Data(void)。 void ClearList(void)。 }。 endif // LINKEDLIST_CLASS 前一页 休息 34 例 97 链表类应用举例 include include include void main(void) { LinkedListint Link。 int i, key, item。 for (i=0。 i 10。 i++) { cinitem。 (item)。 } 顺序访问线性群体 cout List:。 ( )。 while(!( ) ) { cout ( )。 ( )。 } cout endl。 cout 请输入一个需要删除的整数 :。 cin key。 ( )。 while (!( ) ) { if(( ) == key) ( )。 ( )。 } cout List:。 ( )。 while(!( ) ) { cout ( )。 ( )。 } cout endl。 } 前一页 休息 37 特殊的线性群体 —— 栈 栈是只能从一端访问的线性群体,可以访问的这一端称栈顶,另一端称栈。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。