91精产品自偷自偷综合官网版下载-91精产品自偷自偷综合下-91精品-91精品91久久久-91精品成人-91精品成人www

網站建設資訊

NEWS

網站建設資訊

關于經典停車場問題指針輸出亂碼問題?

邀請好友加入騰訊云自媒體分享計劃
給好友發送邀請鏈接,好友成功加入計劃后你和好友都分別獲得 30 / 100 / 180 元云服務器代金
#include
#include
#include
#include
struct stackstruct /棧的結構體/
{
int id;
int time;
struct stackstruct pre;
struct stackstruct
next;
};

創新互聯公司服務項目包括陽西網站建設、陽西網站制作、陽西網頁制作以及陽西網絡營銷策劃等。多年來,我們專注于互聯網行業,利用自身積累的技術優勢、行業經驗、深度合作伙伴關系等,向廣大中小型企業、政府機構等提供互聯網行業的解決方案,陽西網站推廣取得了明顯的社會效益與經濟效益。目前,我們服務的客戶以成都為中心已經輻射到陽西省份的部分城市,未來相信會繼續擴大服務區域并繼續獲得客戶的支持與信任!

struct queuestruct //隊列結構體
{
int id;
struct queuestruct *next;
};

struct stackstruct stackhead1, stackend1;
struct stackstruct stackhead2, stackend2;
struct queuestruct queuehead, queueend;
int stack1count, stack2count; /棧中元素總數/
int queuecount; /隊列中元素總數/

void push(int flag, struct stackstruct p)
{
struct stackstruct
stack;
if (flag == 0) /棧1進棧操作/
{
if (stack1count == 0)//棧1空
{
stackhead1 = (struct stackstruct )malloc(sizeof(struct stackstruct));
stackhead1->id = p->id;
stackhead1->time = p->time;
stackhead1->next = NULL;
stackhead1->pre = NULL;
stackend1 = stackhead1;
}
else
{
stack = (struct stackstruct
)malloc(sizeof(struct stackstruct));
stack->id = p->id;
stack->time = p->time;
stackend1->next = stack;
stack->pre = stackend1;
stack->next = NULL;
stackend1 = stack;
}
stack1count++;
}
else if (flag == 1) /棧2進棧操作,棧1出棧/
{
if (stack2count == 0)//棧2空
{
stackhead2 = (struct stackstruct )malloc(sizeof(struct stackstruct));
stackhead2->id = p->id;
stackhead2->time = p->time;
stackhead2->next = NULL;
stackhead2->pre = NULL;
stackend2 = stackhead2;
}
else
{
stack = (struct stackstruct
)malloc(sizeof(struct stackstruct));
stack->id = p->id;
stack->time = p->time;
stackend2->next = stack;
stack->pre = stackend2;
stack->next = NULL;
stackend2 = stack;
}
stack2count++;
}
}

struct stackstruct pop(int id, int time)
{
struct stackstruct
stack;
stack = (struct stackstruct *)malloc(sizeof(struct stackstruct));

if (stackend1->id != id)
{
    stack->id = stackend1->id;
    stack->time = stackend1->time;
    stack->pre = stackend1->pre;
    stackend1=NULL;
    stackend1 = stack->pre;
    stackend1->next = NULL;
    stack1count--;
}
else
{
    stack->id = stackend1->id;
    stack->time = stackend1->time;
    stack->pre = stackend1->pre;
    printf("%d號汽車出停車場\n",id);
    printf("停車場停留時間: %d\n",time - stack->time);
    printf("應該繳納的費用(單價: 5): %d\n", 5 * (time - stack->time));
    stackend1=NULL;
    if (--stack1count == 0)
        stackend1 = stackhead1 = NULL;
    else
    {
        stackend1 = stack->pre;
        stackend1->next = NULL;
    }
    stack = NULL;
}
return stack;

}

struct stackstruct pop1()//棧2元素出棧
{
struct stackstruct
stack;
stack = (struct stackstruct *)malloc(sizeof(struct stackstruct));

stack->id = stackend2->id;
stack->time = stackend2->time;
stack->pre = stackend2->pre;
free(stackend2);
stackend2 = stack->pre;
stack2count--;

return stack;

}

void Enqueue(struct stackstruct p)//入隊
{
struct queuestruct
queue;
if (queuecount == 0)
{
queuehead = (struct queuestruct )malloc(sizeof(struct queuestruct));
queuehead->id = p->id;
queuehead->next = NULL;
queueend = queuehead;
}
else
{
queue = (struct queuestruct
)malloc(sizeof(struct queuestruct));
queue->id = p->id;
queue->next = NULL;
queueend->next = queue;
queueend = queue;
}
queuecount++;
}

struct stackstruct Dequeue(int time)//出隊
{
struct stackstruct
stack;
stack = (struct stackstruct *)malloc(sizeof(struct stackstruct));

stack->id = queuehead->id;
stack->time = time;
if (--queuecount == 0)
{
    queuehead = NULL;
    queueend = NULL;
}
else
    queuehead = queuehead->next;
return stack;

}
int main()
{
int n;
char s = {0};
struct stackstruct p;
printf("輸入狹長通道可停放汽車數量: ");
scanf_s("%d", &n);
getchar();
stack1count = stack2count = queuecount = 0;
p = (struct stackstruct
)malloc(sizeof(struct stackstruct));
printf("輸入停車信息:(動作,車牌號,時間)\n");
while (scanf_s("%c,%d%d", &s,1, &p->id, &p->time) != EOF)
{
if (s =='E')
{
printf("End");
break;
}
if (s =='A') /汽車到達/
{
if (stack1count < n) /棧未滿,進棧操作/
{
push(0, p);
printf("%d號汽車進入停車場\n",p->id);
printf("進入停車場時間: %d\n",stackend1->time);
printf("停車位置: %d\n",stack1count);
}
else /棧滿,進隊列操作/
{
Enqueue(p);
printf("%d號汽車進入便道\n",p->id);
printf("進入便道時間: %d\n",p->time);
printf("便道位置: %d\n",queuecount);
}
}
if (s =='D') /汽車離去/
{
struct stackstruct *temp;
while ((temp = pop(p->id, p->time)) != NULL)
{
push(1, temp);
}
while (stack2count != 0)
{
push(0, pop1());
}
if (queuecount != 0)
{
push(0, Dequeue(p->time));
printf("%d號汽車進入停車場\n",stackend1->id);
printf("進入時間: %d\n",stackend1->time);
printf("停車位置: %d\n",stack1count);
}
}
}
return 0;
}
我的博客即將同步至騰訊云+社區,邀請大家一同入駐:https://cloud.tencent.com/developer/support-plan?invite_code=hiyc3ueo3ntk


當前文章:關于經典停車場問題指針輸出亂碼問題?
文章網址:http://www.yuzhuanjia.cn/article/gihiio.html
主站蜘蛛池模板: 97人人澡 | 日韩av在线播放乱码 | 国产av电影区二区三区 | 一区二区三区在线观看免费 | 91在线精品一区二区大受欢迎 | 日韩av网站观看 | 99久久国产热无码精品免费 | 4k电影网 | 91久久伊人精品影院 | 午夜免费观看福利片 | 一区二区不卡免费视频 | 动漫人妻h无码 | 国产不卡视频一区二区在线观看 | 潮喷大喷水系列无码网站 | 99久久综合精品国产这里 | 成a人片亚洲日本久久 | 91在线播放国产 | 东京热toky| av大片在线观看免费 | 97在线观看永久免 | 东京热精品97综合网 | 99re精彩视频 | 1区2区3区4区产品在线线乱码 | 国产91一区二区在线播放不卡 | 91热成人精品国产免费 | 91露脸的极品国产系列 | 丁香花在线观看免费观看图片 | 99精品视频观看 | 东京热加勒 | 97国产成人精品免费视频 | 91日韩视频在线观看 | 福利国产精品 | 午夜福利院18禁在线试看 | av麻豆出品免费在线观看 | 91精品国产aⅴ一区二区 | 91精品国产综合久久福利不 | 高清欧美不卡一区二区三区 | 高清不卡在线播放 | 福利一区在线观看 | 二区在线视频 | 国产91在线 |