acm第十八次数据结构

     其实这数据结构不是新的内容,里边的栈和队列我们在stl中也都了解过了,但是我们是根据函数库直接调用,而这次讲的数据结构,是具体的代码实现。
     例如:
   一:栈
   一般的栈操作我们在stl中直接用push入栈,pop出站
   而这次老师讲的多用具体的代码
     #define n 100

入栈操作
void push(int s[],int *top,int *x) //入栈
{
if (*topn) printf(“overflow”);
else { (*top)++; s[*top]=*x; }
}
出栈操作
void pop(int s[],int *y,int *top) //出栈
{
if (*top
0) printf(“underflow”);
else { *y=s[*top]; (*top)–; }
}
二、队列
①循环队列: 将数组存储区看成是一个首尾相接的环形区域。当存放到n地址后,下一个地址就"翻转"为1。在结构上采用这种技巧来存储的队列称为循环队列
②循环队列的入队方法:
1、tail=tail+1;
2、若tail=n+1,则tail=1; 3、若head=tail尾指针与头指针重合了,表示元素已装满队列, 则作上溢出错处理; 4、否则,Q[tail]=x,结束(x为新入出元素)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值