手机
当前位置:查字典教程网 >编程开发 >C语言 >C++实现的链表类实例
C++实现的链表类实例
摘要:本文实例讲述了C++实现的链表类。分享给大家供大家参考。具体如下:#includeusingnamespacestd;classlinkli...

本文实例讲述了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++程序设计有所帮助。

【C++实现的链表类实例】相关文章:

用C++实现队列的程序代码

C#实现的简单链表类实例

用C语言实现单链表的各种操作(二)

C++中返回指向函数的指针示例

如何用C++实现双向循环链表

C++生成dll和调用dll的方法实例

用c++实现x的y次幂的代码

C++中的类模板详解及示例

C++ 构造双向链表的实现代码

VC实现图片拖拽及动画的实例

精品推荐
分类导航