Acm学习总结17
栈:这里的栈就是解释STL里面的stack的工作原理,其实就是通过数组来实现的;
#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 (*top0) printf(“underflow”);
else { *y=s[*top]; (*top)–; }
}
这两个分别代表了栈的两个操作;
队列的原理演示:
队列的特点就是最开始的在队头,后来添加的放在队尾。但是运用数组就容易让数组填满,所以为了防止队列溢出于是就使用一个类似圆圈的操作,这样就是能无限存储的;
:tail=tail+1;
如果tail=n+1;则tail=1
如果头上的指针tail=head重合了那么就是结束条件所以就不再循环了;
否则在加入新的元素;
这次的总结也就这些了。
Acm学习总结17
最新推荐文章于 2024-11-13 15:05:56 发布
该博客是ACM学习总结,介绍了STL中栈的工作原理,通过数组实现,给出入栈和出栈操作代码。还演示了队列原理,指出队列用数组易填满,采用类似圆圈操作防止溢出,介绍了队列元素添加及结束条件。
568

被折叠的 条评论
为什么被折叠?



