数据结构Word文档格式.docx

上传人:b****7 文档编号:22679276 上传时间:2023-02-05 格式:DOCX 页数:13 大小:75.56KB
下载 相关 举报
数据结构Word文档格式.docx_第1页
第1页 / 共13页
数据结构Word文档格式.docx_第2页
第2页 / 共13页
数据结构Word文档格式.docx_第3页
第3页 / 共13页
数据结构Word文档格式.docx_第4页
第4页 / 共13页
数据结构Word文档格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

数据结构Word文档格式.docx

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

数据结构Word文档格式.docx

栈、队的实现和运算

四、实验结果(源程序)与数据处理(程序运行结果、截图等)

·

.实验部分代码:

1.

#include<

stdio.h>

#defineMAXN26

charstack[MAXN];

inttop=0;

 

intpush(charx)

{if(top>

=MAXN)

return

(1);

 

stack[top++]=x;

return(0);

}

intpop(char*p_y)

{if(top==0)

*p_y=stack[--top];

voidmain()

inti;

charch_x,ch_y;

printf("

inputthecharyouwanttopush\n"

);

scanf("

%c"

&

ch_x);

while(ch_x!

='

0'

if(push(ch_x)==1) 

failure!

\n"

else

{printf("

success!

inputacharforch_xtopush\nch_x="

getchar();

i=0;

while(stack[i]!

\0'

%c"

stack[i]);

i++;

if(pop(&

ch_y)==1) 

Thepopcharis%c\n"

ch_y);

for(i=top-1;

i>

=0;

i--)

2.

#include<

malloc.h>

structnode{chardata;

structnode*link;

};

typedefstructnodeNODE;

NODE*top=NULL;

voidpush_l(charx)

{NODE*p;

p=(NODE*)malloc(sizeof(NODE));

p->

data=x;

link=top;

top=p;

intpop_l(char*p_y)

if(top==NULL)

*p_y=top->

data;

p=top;

top=top->

link;

free(p);

NODE*p;

{push_l(ch_x);

p=(NODE*)malloc(sizeof(NODE));

p=top;

while(p!

=NULL)

p->

data);

p=p->

if(pop_l(&

3.

#defineMAXN 

26

charq[MAXN];

inthead=-1,tail=-1;

inten_queue(charx)

{if(tail==MAXN-1)

q[++tail]=x;

return(0);

intde_queue(char*p_y)

{if(head==tail)

*p_y=q[++head];

inputthecharyouwanttoenqueue\n"

if(en_queue(ch_x)==1) 

inputacharforch_xtoenqueue\nch_x="

i=1;

while(q[i]!

q[i]);

if(de_queue(&

Thedequeuecharis%c\n"

for(i=head+1;

i<

=tail;

i++)

4

"

structnode*link;

NODE*head,*tail;

voiden_queue_l(charx)

p=(NODE*)malloc(sizeof(NODE));

link=NULL;

if(head==NULL)

head=p;

else

tail->

link=p;

tail=p;

intde_queue_l(char*p_y)

*p_y=head->

p=head;

head=head->

{en_queue_l(ch_x);

p=head;

if(de_queue_l(&

5#include<

string.h>

inthead=0,tail=0;

inten_c_q(charx)

{tail=(tail+1)%MAXN;

if(tail==head)

{if(tail==0) 

tail=MAXN-1;

elsetail--;

q[tail]=x;

intde_c_q(char*p_y)

return

(1);

head=(head+1)%MAXN;

*p_y=q[head];

if(en_c_q(ch_x)==1) 

if(de_c_q(&

截图

五、试验中遇到的问题、分析与讨论。

在实验中了解到,在函数调用时,第一个进栈的是主函数中后的下一条指令(函数调用语句的下一条可执行语句)的地址,然后是函数的各个参数,在大多数的C编译器中,参数是由右往左入栈的,然后是函数中的局部变量。

注意静态变量是不入栈的。

成绩:

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

当前位置:首页 > 解决方案 > 解决方案

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

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