色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区

當前位置:首頁 > 嵌入式培訓 > 嵌入式學習 > 講師博文 > 一個數據結構中棧的應用

一個數據結構中棧的應用 時間:2018-08-16      來源:未知

在linux的shell命令下不知道有沒有同學使用dc命令。這是一個算數命令。相信同學們對這種算式都比較熟悉:(1 + 2)* 3結果等于9 dc命令也是一種算式表達——壓棧式算術運算。

當輸入dc命令后我們像上圖那樣輸入,特點是遇到運算符對前面兩個數進行運算,然后再講結果返回。那么上面的算式就是1和2相加后結果返回,然后遇到乘法后,再將1和2相加的結果與3相乘,摁p輸出結果。

仔細看一下這個過程,是不是和壓棧很像。過程大體是這樣的:

1.數字依次進棧

2.遇到運算符將處于棧頂的兩個元素出棧,根據運算符計算出結果,然后再將結果壓棧。

3.依次進行指導“p”將結果輸出。

當然,這其中還有很多細節,比如后棧里只有單個數字,則自己和自己運算等。我們這里先不考慮這些。只是實現上面簡單的功能,做個拋磚引玉,供同學們繼續思考深化。

我們看一下下面的程序:

int main(int argc,const char *argv[])

{

int i = 0,x,y;

sqstack * sq;

if((sq = stack_create()) == NULL)

return -1;

while(*argv[i] != 'p')

{

if(*argv[i] <= '9' && *argv[i] >= '0')

push(sq,(*argv[i] - '0'));

if(*argv[i] == '+' || *argv[i] == '-' || *argv[i] == '*' || *argv[i] == '/')

{

y = pop(sq);

x = pop(sq);

printf("x: %d,y:%d\n",x,y);

switch(*argv[i])

{

case '+':

push(sq,x + y);

break;

case '-':

push(sq,x - y);

break;

case '*':

push(sq,x * y);

break;

default:

puts("intput error");

}

}

i++;

// printf("i:%d,%c\n",i,*argv[i]);

}

printf("%d\n",pop(sq));

return 0;

}

在程序中我們用直接從命令行輸入的方式。具體的算法就是我們上面描述的那樣里面運用的函數棧的創建(stack_create),出棧(push),壓棧(pop)等就是我們課上所講的基礎程序。之前也很多同學提出,基礎程序熟練了可是就是不知道怎么用。其實在實際中棧和隊列的應用還是非常多的,所以希望同學們對所學的多去嘗試使用才能熟練。

下面是一個簡單的運行效果,同學們可以自己嘗試完善一下:

上一篇:棧及其應用

下一篇:C語言中常見的筆試題

熱點文章推薦
華清學員就業榜單
高薪學員經驗分享
熱點新聞推薦
前臺專線:010-82525158 企業培訓洽談專線:010-82525379 院校合作洽談專線:010-82525379 Copyright © 2004-2022 北京華清遠見科技集團有限公司 版權所有 ,京ICP備16055225號-5京公海網安備11010802025203號

回到頂部

色偷偷偷亚洲综合网另类,亚洲欧美另类在线观看,欧美午夜激情在线,久久久精品一区
主站蜘蛛池模板: 亚洲系列中文字幕| 国产精品亚洲аv天堂网| 色噜噜狠狠狠综合曰曰曰| 亚洲国产日韩欧美在线图片| 国产精品一香蕉国产线看观看| 91精品国产91久久久久久不卡| 精品国产精品三级精品av网址| 在线视频中文亚洲| 亚洲欧美在线一区| 亚洲最大av网| 亚洲国产欧美一区二区丝袜黑人| 国产精品自产拍在线观看中文| 热久久99这里有精品| 国产91成人video| 欧美精品成人在线| 欧美午夜宅男影院在线观看| 精品久久久久久亚洲国产300| 欧美成人中文字幕在线| 麻豆精品精华液| 免费91在线视频| 精品久久久精品| 欧美日韩国产专区| 久久久久国产精品一区| 日韩欧美在线中文字幕| 欧美精品aaa| 国产999在线| 国产精品一区二区三区久久 | 国产精品久久精品| 国产精品露脸自拍| 国产一区二区丝袜| 亚洲成人精品视频在线观看| 亚洲精品国产精品自产a区红杏吧| 亚洲福利在线看| 亚洲人成毛片在线播放| 中文字幕免费国产精品| 久久精品视频在线播放| 欧美色播在线播放| 992tv在线成人免费观看| 国产成人亚洲综合91| 成人免费直播live| 亚洲三级免费看|