C++数据结构实例代码Word格式文档下载.docx

上传人:b****4 文档编号:14312542 上传时间:2022-10-22 格式:DOCX 页数:21 大小:49.52KB
下载 相关 举报
C++数据结构实例代码Word格式文档下载.docx_第1页
第1页 / 共21页
C++数据结构实例代码Word格式文档下载.docx_第2页
第2页 / 共21页
C++数据结构实例代码Word格式文档下载.docx_第3页
第3页 / 共21页
C++数据结构实例代码Word格式文档下载.docx_第4页
第4页 / 共21页
C++数据结构实例代码Word格式文档下载.docx_第5页
第5页 / 共21页
点击查看更多>>
下载资源
资源描述

C++数据结构实例代码Word格式文档下载.docx

《C++数据结构实例代码Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C++数据结构实例代码Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。

C++数据结构实例代码Word格式文档下载.docx

return0;

if(L.length>

=L.listsize){

int*newbase=(int*)realloc(L.elem,(L.listsize+10)*sizeof(int));

newbase)

L.elem=newbase;

L.listsize+=10;

}

int*q=&

(L.elem[i-1]);

int*p=&

(L.elem[L.length-1]);

for(p;

p>

=q;

--p){

*(p+1)=*p;

}*q=e;

++L.length;

intListDelete(SqList&

L,inti,int&

e){if(i<

L.length)return0;

e=*p;

int*q=L.elem+L.length-1;

for(++p;

p<

++p){

*(p-1)=*p;

--L.length;

returne;

intmain(){

inta[6]={1,2,3,4,5};

a[1];

a[4];

for(p;

--p){*(p+1)=*p;

*q=3;

for(inti=0;

i<

6;

i++){cout<

<

a[i]<

"

;

}cout<

endl;

SqListlx;

Init_Sq(lx);

for(intj=1;

j<

10;

j++){ListInsert(lx,j,j);

ListInsert(lx,3,55);

inte_return;

ListDelete(lx,4,e_return);

for(intm=0;

m<

m++){cout<

*(lx.elem+m)<

}cout<

cout<

e_return;

system("

pause"

);

return0;

132345

12554567899

3请按任意键继续...

2线性表的链性表示#include"

#include"

usingnamespacestd;

typedefstructLNode{

intdata;

structLNode*next;

}LNode,*LinkList;

intInitList(LinkList&

L)

{

L=(LinkList)malloc(sizeof(LNode));

L->

next=NULL;

intListInsert(LinkList&

L,inti,inte)

LinkListp=L;

intj=0;

while(p&

&

i-1){p=p->

next;

++j;

if(!

p||j>

i-1)return0;

LinkLists=(LinkList)malloc(sizeof(LNode));

s->

data=e;

s->

next=p->

p->

next=s;

intListDelete(LinkList&

L,inti)

while(p->

next&

(p->

next)||j>

LinkListq=p->

next=q->

free(q);

intGetElem(LinkListL,inti)

LinkListp=L->

intj=1;

i)

p=p->

++j;

p||j<

inte=p->

data;

intmain()

LinkListlx;

InitList(lx);

for(inti=1;

i++){

ListInsert(lx,i,i);

ListDelete(lx,2);

5;

j++)

GetElem(lx,j)<

LinkListlx1,lx2;

InitList(lx1);

InitList(lx2);

for(intm=1;

m++){

ListInsert(lx1,m,m);

for(intn=1;

n<

n++){ListInsert(lx2,n,2*n);

GetElem(lx1,j)<

}system("

1345

12345请按任意键继续...

3双向链表

#include"

typedefstructdlist

InitList(DLinkList&

structdlist*prior;

structdlist*next;

}DList,*DLinkList;

void

sizeof(DList));

L=(DLinkList)malloc(

L->

next=L;

prior=L;

 

intGetElem(DLinkList&

DLinkListp,s;

p=L->

i){p=p->

returne;

DLinkListlx;

i++)

{ListInsert(lx,i,2*i-1);

j++){cout<

inte;

ListDelete(lx,2,e);

e<

system("

13579

3

1579请按任意键继续...

4顺序栈

#defineSTACK_INIT_SIZE100〃存?

?

储?

e空?

间?

初?

始0?

分O?

配?

量C?

#defineSTACKINCREMENT10存?

增?

typedefstruct{

int*base;

int*top;

intstacksize;

}Stack;

intInitStack(Stack&

S)

S.base=(int*)malloc(STACK_INIT_SIZE*sizeof(int));

S.base)

S.top=S.base;

S.stacksize=STACK_INIT_SIZE;

intGetTop(Stack&

S,int&

e)

if(S.top==S.base)

e=*(S.top-1);

intPush(Stack&

S,inte)

if(S.top-S.base>

=S.stacksize){

S.base=(int*)realloc(S.base,(S.stacksize+STACKINCREMENT)*sizeof(int));

S.top=S.base+S.stacksize;

S.stacksize+=STACKINCREMENT;

*S.top++=e;

intPop(Stack&

e=*--S.top;

Stacklx;

InitStack(lx);

Push(lx,i);

}inte;

GetTop(lx,e);

cout<

inte1;

Pop(lx,e1);

e1<

GetTop(lx,e1);

5

4请按任意键继续...

5队列#include"

typedefstructQNode{intdata;

structQNode*next;

}QNode,*QueuePtr;

QueuePtrfront;

QueuePtrrear;

}LinkQueue;

intInitQueue(LinkQueue&

Q){

Q.front=Q.rear=(QueuePtr)malloc(sizeof(QNode));

Q.front)

Q.front->

return1;

intDestroyQueue(LinkQueue&

Q)

while(Q.front){Q.rear=Q.front->

free(Q.front);

Q.front=Q.rear;

}return1;

intInsert(LinkQueue&

Q,inte)

QueuePtrp=(QueuePtr)malloc(s

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 临床医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1