文档详情

c数据结构顺序表、单链表、查找代码.doc

发布:2017-04-29约4.61千字共7页下载文档
文本预览下载声明
顺序表 #includeiostream using namespace std; templatetypename T void ins_sq_LList(T*v,int m,int*n,int i,T b) {int k; if(*n==m) {coutoverflowendl; return;} if(i*n)i=*n+1; if(i1)i=1; for(k=*n;k=i;k--) v[k]=v[k-1]; v[i-1]=b; *n=*n+1; return; } #includeiostream using namespace std; templateclass T class sq_LList {private: int mm; int nn; T * v; public: sq_LList(){mm=0;nn=0;return;} sq_LList(int); void prt_sq_LList(); int flag_sq_LList(); void ins_sq_LList(int,T); void del_sq_LList(int); }; templateclass T sq_LList(T)::sq_LList(int m) {mm=m; v=new T[mm]; nn=0; return; } templateclass T void sq_LListT::prt_sq_LList() {int i; coutnn=nnendl; for (i=0;inn;i++)coutv[i]endl; return; } 单链表 templateclass T void linked_LListT::ins_linked_LList(Tx,Tb) {nodeT*p,*q; p=new nodeT; p-d=b; if(head==null) {head=p;p-next=null;return;} if(head-d==x) {p-next=head;head=p;return;} q=head; while((q-next!=NULL)(((q-next)-d)!=x)) q=q-next; p-next=q-next;q-next=p; return; } linked_Llist.h #includeiostream using namespace std; templateclass T struct node {T d; node*next: }; templateclass T class linked_LList {private: nodeT*head: public: linked_LList(); void prt_linked_LList(); void ins_linked_LList(T,T); int del_linked_LList(T); }; templateclass T linked_LListT::linked_LList() {head=NULL;return;} templateclass T void linked_LListT::prt_linked_LList() {nodeT*p; p=head; if(p==NULL){cout空链表!endl;return;} do{coutp-dendl; p=p-next; }while(p!=NULL); return; } #includeiostream using namespace std; templateclass T struct node {T d; node*next: }; //定义线性链表类 templateclass T class linked_LList {private: nodeT*head: public: linked_LList(); void prt_linked_LList(); void ins_linked_LList(T,T); int del_linked_LList(T); }; //建立空链表 templateclass T linked_LListT::linked_LList() {head=NULL;return;} //扫描输出链表中的元素 templateclass T void linked_LListT::prt_linked_LList() {nodeT*p; p=head; if(p==NULL){cout空链表!endl;return;} do{coutp-dendl; p=p-next; }while(
显示全部
相似文档