设为首页 加入收藏

TOP

顺序结构栈与队列之货物货架管理(四)
2018-11-08 16:10:15 】 浏览:341
Tags:顺序 结构 队列 货物 货架 管理
ze>n)
            break;
        cin >> e.name ;
        if(e.name=="break")
            break;
        cin >> e.a;
        *s.top++ = e;
        s.stacksize++;
    }
}
 
void Found2(SqStack &s)      //创建空栈
{
    s.base = new Inform [n];
    s.top = s.base;
    s.stacksize = 0;
}
void Foundd(SqQueue &d)      //创建队列
{
    d.base = new Inform [n];
    d.fro=d.rear=0;
}
//倒货
void TurnsZ1(SqStack &s1,SqQueue d)      //新品上架倒货  主要思想:1.货架始终为栈s1  2.第n天上货,货架无货,旧货入队列,新货入栈,之后队列旧货入栈
{
    Foundd(d);
    Inform e;
    int t;
    while(s1.base != s1.top)
    {
         e = *(s1.top-1);      //*(s1.top--)指向的仍然是s1.top
         s1.top--;
         s1.stacksize--;
         t=d.rear;
         d.rear=(d.rear+1)%100;      //循环顺序队列
         d.base[t] = e;
    }
    while(d.fro != d.rear)
    {
        t=d.fro;
        d.fro=(d.fro+1)%100;
        e=d.base[t];
        *s1.top++=e;
        s1.stacksize++;
    }
}
void TurnsZ2(SqStack &s1,SqStack &s1_,SqStack s2)        //前天货架有余货,倒货。   主要思想:1.s1为货架栈 2.新货存入栈s1_, 货架(s1)货物导入s2,然后s1_入货架(s1),s2入货架(s1)
{
    Inform e;
    while(s1.top!=s1.base)
    {
        e=*(s1.top-1);
        s1.top--;
        s1.stacksize--;
        *s2.top++=e;
        s2.stacksize++;
    }
    while(s1_.top!=s1_.base)
    {
        e=*(s1_.top-1);
        s1_.top--;
        s1_.stacksize++;
        *s1.top++=e;
        s1.stacksize++;
    }
    while(s2.top!=s2.base)
    {
        e=*(s2.top-1);
    &
首页 上一页 1 2 3 4 下一页 尾页 4/4/4
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇关于约瑟夫循环使用单链表的问题 下一篇数据结构与算法:链表——递增排序

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目