C++数据结构实例代码(15页).doc
《C++数据结构实例代码(15页).doc》由会员分享,可在线阅读,更多相关《C++数据结构实例代码(15页).doc(15页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、-C+数据结构实例代码-第 15 页1 线性表的顺序表示#include iostream#include using namespace std;typedef structint *elem;int length;int listsize;SqList;int Init_Sq(SqList &L)=(int *)malloc(100*sizeof(int);if(!)exit(-2);=0;=100;return 1;int ListInsert(SqList &L,int i,int e)if(iL.length+1)return 0;if(=)int *newbase=(int *)r
2、ealloc(,(L.listsize+10)*sizeof(int);if(!newbase)exit(-2);=newbase;+=10;int *q=&(i-1);int *p=&(L.length-1);for(p;p=q;-p)*(p+1)=*p;*q=e;return 1;int ListDelete(SqList &L,int i,int &e)if(i)return 0;int *p=&(i-1);e=*p;int *q=L.elem+L.length-1;for(+p;p=q;-p)*(p+1)=*p;*q=3;for(int i=0;i6;i+)coutai ;couten
3、dl;SqList lx;Init_Sq(lx);for(int j=1;j10;j+)ListInsert(lx,j,j);ListInsert(lx,3,55);int e_return;ListDelete(lx,4,e_return);for(int m=0;m10;m+)cout*(lx.elem+m) ;coutendl;coutnext=NULL;return 1;int ListInsert(LinkList &L,int i,int e)LinkList p=L;int j=0;while(p&jnext;+j;if(!p|ji-1)return 0;LinkList s=(
4、LinkList)malloc(sizeof(LNode);s-data=e;s-next=p-next;p-next=s;return 1;int ListDelete(LinkList &L,int i)LinkList p=L;int j=0;while(p-next&jnext;+j;if(!(p-next)|ji-1)return 0;LinkList q=p-next;p-next=q-next;free(q);return 1;int GetElem(LinkList L,int i)LinkList p=L-next;int j=1;while(p&jnext;+j;if(!p
5、|jdata;return e;int main()LinkList lx;InitList(lx);for(int i=1;i6;i+)ListInsert(lx,i,i);ListDelete(lx,2);for(int j=1;j5;j+)coutGetElem(lx,j) ;coutendl;LinkList lx1,lx2;InitList(lx1);InitList(lx2);for(int m=1;m6;m+)ListInsert(lx1,m,m);for(int n=1;n6;n+)ListInsert(lx2,n,2*n);for(int j=1;j6;j+)coutGetE
6、lem(lx1,j)next=L;L-prior=L;int ListInsert(DLinkList &L,int i,int e)DLinkList p,s;p=L-next;int j=1;while(p&jnext;+j;if(!p|ji)return 0;s=(DLinkList)malloc(sizeof(DList);s-data=e;s-prior=p-prior;p-prior-next=s;s-next=p;p-prior=s;return 1;int ListDelete(DLinkList &L,int i,int &e)DLinkList p;p=L-next;int
7、 j=1;while(p&jnext;+j;if(!p|ji)return 0;e=p-data;p-prior-next=p-next;p-next-prior=p-prior;free(p);return 1;int GetElem(DLinkList &L,int i)DLinkList p,s;p=L-next;int j=1;while(p&jnext;+j;if(!p|ji)return 0;int e=p-data;return e;int main()DLinkList lx;InitList(lx);for(int i=1;i6;i+)ListInsert(lx,i,2*i-
8、1);for(int j=1;j6;j+)coutGetElem(lx,j) ;coutendl;int e;ListDelete(lx,2,e);couteendl;for(int j=1;j5;j+)coutGetElem(lx,j)=)=(int *)realloc(,(S.stacksize+STACKINCREMENT)*sizeof(int);if(!)exit(-2);+=STACKINCREMENT;*+=e;int Pop(Stack &S,int &e)if(=)return 0;e=*-;return 1;int main()Stack lx;InitStack(lx);
9、for(int i=1;i6;i+)Push(lx,i);int e;GetTop(lx,e);couteendl;int e1;Pop(lx,e1);coute1endl;GetTop(lx,e1);coute1next=NULL;return 1;int DestroyQueue(LinkQueue &Q)while()=-next;free();return 1;int Insert(LinkQueue &Q,int e)QueuePtr p=(QueuePtr)malloc(sizeof(QNode);if(!p)exit(-2);p-data=e;p-next=NULL;-next=
10、p;=p;return 1;int GetFront(LinkQueue &Q,int &e)if(=)return 0;e=-next-data;return 1;int GetRear(LinkQueue &Q,int &e)if(=)return 0;e=-data;return 1;int Delete(LinkQueue &Q,int &e)if(=)return 0;QueuePtr p;p=-next; e=p-data;-next=p-next;if(=p)free(p);return 1;int main()LinkQueue lx;InitQueue(lx);for(int
11、 i=1;i6;i+)Insert(lx,i);int front;GetFront(lx,front);coutfrontendl;int rear;GetRear(lx,rear);coutrearendl;int e;Delete(lx,e);couteendl;GetFront(lx,front);coutfrontendl;system(pause);return 0;1512请按任意键继续. . .6 循环队列 #include iostream#include using namespace std;#define MAXSIZE 100typedef structint *ba
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 数据结构 实例 代码 15
限制150内