• / 321

用C++实现数据结构中的各种算法.doc

资源描述:
《用C++实现数据结构中的各种算法.doc》由本站会员分享,支持在线阅读,更多《用C++实现数据结构中的各种算法整理版.doc》相关的内容可在三九文库网上搜索。

目录1、顺序表1Seqlist.h1Test.cpp62、单链表8ListNode.h8SingleList.h10test.cpp203、双向链表22NodeList.h22DoubleList.h24Test.cpp344、循环链表36ListNode.h36CircularList.h37Test.cpp475、顺序栈49SeqStack.h49Test.cpp546、链式栈55StackNode.h55LinkStack.h56Test.cpp607、顺序队列62SeqQueue。

h63Test.cpp688、链式队列70QueueNode.h70LinkQueue.h71Test.cpp759、优先级队列77QueueNode.h77Compare.h78PriorityQueue.h80Test.cpp8510、串88MyString.h88MyString.cpp90test.cpp10111、二叉树104BinTreeNode.h104BinaryTree.h112Test.cpp12412、线索二叉树126ThreadNode.h126ThreadTree。

h128ThreadInorderIterator.h128test.cpp13913、堆140MinHeap.h140test.cpp14714、哈夫曼树149BinTreeNode.h149BinaryTree.h151MinHeap.h156Huffman.h161Test.cpp16315、树164QueueNode.h164LinkQueue.h165TreeNode.h169Tree.h170test.cpp18716、B+树189BTreeNode.h189BTree。

h192test.cpp21517、图217MinHeap.h217Edge.h222Vertex.h223Graph.h224test.cpp24618、排序249Data.h249QueueNode.h255LinkQueue.h259Sort.h263test.cpp278数据结构算法实现2008931、顺序表Seqlist.hconstintDefaultSize=100;templateclassSeqList{public:SeqList(intsz=DefaultSize):mnmaxsize(sz)。

mncurrentsize(1){if(sz>0){melements=newType[mnmaxsize];}}~SeqList(){delete[]melements;}intLength()const{//getthelengthreturnmncurrentsize+1;}intFind(Typex)const;//findthepositionofxintIsElement(Typex)const;//isitinthelistintInsert(Typex,inti)。

//insertdataintRemove(Typex);//deletedataintIsEmpty(){returnmncurrentsize==1;}intIsFull(){returnmncurrentsize==mnmaxsize1;}TypeGet(inti){//gettheithdatareturni<0||i>mncurrentsize?(cout<<"cantfindtheelement"<

}voidPrint();private:Type*melements;constintmnmaxsize;intmncurrentsize;};templateintSeqList::Find(Typex)const{for(inti=0;i

intSeqList::IsElement(Typex)const{if(Find(x)==1)return0;return1;}templateintSeqList::Insert(Typex,inti){if(i<0||i>mncurrentsize+1||mncurrentsize==mnmaxsize1){cout<<"。

theoperateisillegal"<i;j){melements[j]=melements[j1];}melements[i]=x;return1;}templateintSeqList::Remove(Typex){intsize=mncurrentsize;for(inti=0;i

){if(melements[i]==x){for(intj=i;j

typenameType>voidSeqList::Print(){for(inti=0;i<=mncurrentsize;i++)cout<#include"SeqList.h"usingnamespacestd;intmain(){SeqList<。

int>test(15);intarray[15]={2,5,8,1,9,9,7,6,4,3,2,9,7,7,9};for(inti=0;i<15;i++){test.Insert(array[i],0);}test.Insert(1,0);cout<<(test.Find(0)?"cantbefound":"Befound")<<0<

Print();test.Remove(0);test.Print();return0;}2、单链表ListNode.htemplateclassSingleList;templateclassListNode{private:friendtypenameSingleListListNode():mpnext(NULL){}ListNode(constTypeitem,ListNode*next=NULL):mdata(item)。

mpnext(next){}~ListNode(){mpnext=NULL;}public:TypeGetData();friendostream&operator<<(ostream&,ListNode&);private:Typemdata;ListNode*mpnext;};templateTypeListNode::GetData(){returnthis>

mdata;}templateostream&operator<<(ostream&os,ListNode&out){os<classSingleList{public:SingleList():head(newListNode

展开阅读全文
 温馨提示:
下载提示
关于本文
本文标题:用C++实现数据结构中的各种算法.doc
链接地址:https://www.999doc.com/661110.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 联系我们

copyright © 2016-2021  999doc三九文库网 版权所有

经营许可证编号:苏ICP备2020069977号  网站客服QQ:772773258  联系电话:0518-83073133