大话数据结构Word文档下载推荐.docx

上传人:b****3 文档编号:15043876 上传时间:2022-10-27 格式:DOCX 页数:35 大小:24.20KB
下载 相关 举报
大话数据结构Word文档下载推荐.docx_第1页
第1页 / 共35页
大话数据结构Word文档下载推荐.docx_第2页
第2页 / 共35页
大话数据结构Word文档下载推荐.docx_第3页
第3页 / 共35页
大话数据结构Word文档下载推荐.docx_第4页
第4页 / 共35页
大话数据结构Word文档下载推荐.docx_第5页
第5页 / 共35页
点击查看更多>>
下载资源
资源描述

大话数据结构Word文档下载推荐.docx

《大话数据结构Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《大话数据结构Word文档下载推荐.docx(35页珍藏版)》请在冰豆网上搜索。

大话数据结构Word文档下载推荐.docx

#defineOK1

#defineERROR0

#defineTRUE1

#defineFALSE0 

typedefintElemType;

typedefintStatus;

//函数类型,其值是函数结果状态代码,如OK等 

typedefstructStackNode{

ElemTypedata;

//数据域 

structStackNode*next;

//直接后继指针 

}StackNode,*LinkStackPtr;

typedefstructLinkStack{

LinkStackPtrtop;

//栈顶指针

intcount;

//栈元素个数 

}LinkStack;

StatusInitStack(LinkStack*L);

//建立一个空的栈S 

StatusStackEmpty(LinkStackL);

//若栈为空,返回TRUE,否则返回FALSE

StatusClearStack(LinkStack*L);

//将栈清空

intStackLength(LinkStackL);

//返回栈S的元素个数 

StatusDisplayStack(LinkStackL);

//输出栈S的所有元素

StatusGetTop(LinkStackL,ElemType*e);

//用e返回栈S的栈顶元素 

StatusLocateElem(LinkStackL,ElemTypee);

//在栈S中查找是否存在与给定值e相等的元素

StatusPush(LinkStack*L,ElemTypee);

//在栈S中插入新元素e 

StatusPop(LinkStack*L,ElemType*e);

//删除栈S的栈顶元素,并将该元素值赋给e 

intmain(void)

{

LinkStacka;

ElemType*p,e=0;

inti;

InitStack(&

a);

//建立一个空的栈

for(i=0;

i<

MAXSIZE;

i++)

{

Push(&

a,i+1);

}

DisplayStack(a);

for(i=1;

StackLength(a);

i+=2)

Pop(&

a,&

e);

printf("

e=%d\n"

e);

e=50;

if(LocateElem(a,e))//在栈S中查找是否存在与给定值e相等的元素

printf("

存在%d\n"

else

不存在%d\n"

a,e);

ClearStack(&

//将栈清空 

return0;

}

函数功能:

建立一个空的栈S 

初始条件:

操作结果:

初始化栈S。

操作成功返回OK,否则返回ERROR 

StatusInitStack(LinkStack*S)

S->

top=NULL;

count=0;

returnOK;

判断栈是否为空

链栈S已经存在

若栈为空,返回TRUE,否则返回FALSE 

StatusStackEmpty(LinkStackS)

return(S.top==NULL)?

TRUE:

FALSE;

将栈清空 

将栈清空。

StatusClearStack(LinkStack*S)

LinkStackPtrp;

if(S==NULL)

returnERROR;

while(S->

top)

p=S->

top;

S->

top=p->

next;

free(p);

返回栈S的元素个数 

intStackLength(LinkStackS)

returnS.count;

输出栈S的所有元素

输出栈S的所有元素。

StatusDisplayStack(LinkStackS)

inti=0;

LinkStackPtrp=S.top;

if(S.top==NULL)

none!

\n"

);

while(p)

data[%d]=%d,"

i++,p->

data);

p=p->

用e返回栈S的栈顶元素

用e返回栈S的栈顶元素。

StatusGetTop(LinkStackS,ElemType*e)

*e=S.top->

data;

在栈S中查找是否存在与给定值e相等的元素

在栈S中查找是否存在与给定值e相等的元素。

找到返回TRUE,否则返回FALSE 

StatusLocateElem(LinkStackS,ElemTypee)

if(p->

data==e)

returnTRUE;

returnFALSE;

在栈S中插入新元素e 

在栈S中插入新元素e。

StatusPush(LinkStack*S,ElemTypee)

LinkStackPtrp=(LinkStackPtr)malloc(sizeof(StackNode));

if(!

p)

Outofspace!

"

p->

data=e;

next=S->

top=p;

count++;

删除栈S的栈顶元素,并将该元素值赋给e 

删除栈S的栈顶元素,并将该元素值赋给e。

StatusPop(LinkStack*S,ElemType*e)

LinkStackPtrp=S->

if(S->

top==NULL)

*e=S->

top->

top=S->

free(p);

count--;

《大话数据结构》读书笔记之线性表基本操作(数组实现)

线性表抽象数据类型(使用数组实现) 

08-09-1414:

38

typedefstruct{

ElemTypedata[MAXSIZE];

//数组存储线性表元素 

intlength;

//线性表元素个数,即线性表长度 

}SqList;

StatusInitList(SqList*L);

//建立一个空的线性表L 

StatusListEmpty(SqListL);

//若线性表为空,返回TRUE,否则返回FALSE

StatusClearList(SqList*L);

//将线性表清空 

intListLength(SqListL);

//返回线性表L的元素个数 

StatusDisplayList(SqListL);

//输出线性表L的所有元素

StatusGetElem(SqListL,inti,ElemT

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

当前位置:首页 > 医药卫生 > 预防医学

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

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