时间:2021-05-20
本文实例讲述了C++实现的链表类。分享给大家供大家参考。具体如下:
#include <iostream>using namespace std;class linklist{ private: struct node { int data; node *link; }*p; public: linklist(); void append( int num ); void add_as_first( int num ); void addafter( int c, int num ); void del( int num ); void display(); int count(); ~linklist();};linklist::linklist(){ p=NULL;}void linklist::append(int num){ node *q,*t; if( p == NULL ) { p = new node; p->data = num; p->link = NULL; } else { q = p; while( q->link != NULL ) q = q->link; t = new node; t->data = num; t->link = NULL; q->link = t; }}void linklist::add_as_first(int num){ node *q; q = new node; q->data = num; q->link = p; p = q;}void linklist::addafter( int c, int num){ node *q,*t; int i; for(i=0,q=p;i<c;i++) { q = q->link; if( q == NULL ) { cout<<"\nThere are less than "<<c<<" elements."; return; } } t = new node; t->data = num; t->link = q->link; q->link = t;}void linklist::del( int num ){ node *q,*r; q = p; if( q->data == num ) { p = q->link; delete q; return; } r = q; while( q!=NULL ) { if( q->data == num ) { r->link = q->link; delete q; return; } r = q; q = q->link; } cout<<"\nElement "<<num<<" not Found.";}void linklist::display(){ node *q; cout<<endl; for( q = p ; q != NULL ; q = q->link ) cout<<endl<<q->data;}int linklist::count(){ node *q; int c=0; for( q=p ; q != NULL ; q = q->link ) c++; return c;}linklist::~linklist(){ node *q; if( p == NULL ) return; while( p != NULL ) { q = p->link; delete p; p = q; }}int main(){ linklist ll; cout<<"No. of elements = "<<ll.count(); ll.append(12); ll.append(13); ll.append(23); ll.append(43); ll.append(44); ll.append(50); ll.add_as_first(2); ll.add_as_first(1); ll.addafter(3,333); ll.addafter(6,666); ll.display(); cout<<"\nNo. of elements = "<<ll.count(); ll.del(333); ll.del(12); ll.del(98); cout<<"\nNo. of elements = "<<ll.count(); return 0;}希望本文所述对大家的C++程序设计有所帮助。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了C#实现的简单链表类。分享给大家供大家参考。具体如下:一、关于C#链表C#链表可用类LinkedList来存放。本文中的类MyLinkedList
本文实例为大家分享了C++使用模板实现单链表的具体代码,供大家参考,具体内容如下这一篇可以和上一篇点击打开链接模板实现单链表进行对比看类外实现和类内实现的区别代
双向链表C++的实现本文是通过C++的知识实现数据结构中的双向链表,这里不多说了,代码注释很清楚,实现代码://doubleLinkListimplementw
本文通过一个实例展示了C++实现链表倒序的方法,对于C++数据结构的学习有很好的参考借鉴价值。具体方法如下:首先,C++链表倒序的难点在于如何一个个地修改。虽然
本文实例为大家分享了C++利用链表模板类实现一个队列的具体代码,供大家参考,具体内容如下设计思想:MyQueue.h中对模板类进行声明和实现。首先定义结点的结构