中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

棧的代碼實現之數組方案

發布時間:2020-08-02 17:21:18 來源:網絡 閱讀:647 作者:ningcaichen66 欄目:編程語言

棧是一種具有從宏觀上來看是“先進后出”功能特點的數據結構。可以由數組或者鏈表來實現。

其實現原理是從“一端”操作,導致先存儲的數據最后被取出。有棧頂、棧底等因素組成。在《C語言,好爽》第7版(2017年)第76集:棧的代碼實現之數組方案,中對棧的內存實現原理進行了詳解。這里只從宏觀上來理解,以及相關代碼如何實現。

其結構體類型為:

#define N 30

struct _stack

{

int top;

int data[N];

};

typedef struct _stack mystack;

對棧的操作通常有初始化、判斷棧空、棧滿,入棧,操作,清空等操作。這里分別實現:

棧的代碼實現之數組方案

棧的代碼實現之數組方案

棧的代碼實現之數組方案

棧的代碼實現之數組方案

棧的代碼實現之數組方案

棧的代碼實現之數組方案

棧的代碼實現之數組方案

棧的代碼實現之數組方案

調用代碼:

int main() {

mystack ms;

init(&ms);

int flag = 0;

int value = 0;

value = 0;

flag = push(&ms, value);

if (flag)

{

printf("%d 入棧成功", value);

}

else

{

printf("%d 入棧失敗", value);

}

value = 1;

flag = push(&ms, value);

if (flag)

{

printf("%d 入棧成功", value);

}

else

{

printf("%d 入棧失敗", value);

}

value = 2;

flag = push(&ms, value);

if (flag)

{

printf("%d 入棧成功", value);

}

else

{

printf("%d 入棧失敗", value);

}

show(&ms);

//彈出棧

int output_value = 0;

int output_flag = 0;

output_flag = pop(&ms, &output_value);

if (output_flag)

{

printf("出棧成功,出棧的數據為:%d", output_value);

}

else

{

printf("出棧失敗");

}

output_flag = pop(&ms, &output_value);

if (output_flag)

{

printf("出棧成功,出棧的數據為:%d", output_value);

}

else

{

printf("出棧失敗");

}

output_flag = pop(&ms, &output_value);

if (output_flag)

{

printf("出棧成功,出棧的數據為:%d", output_value);

}

else

{

printf("出棧失敗");

}

show(&ms);

system("pause");

return 0;

}

測試結果:

棧的代碼實現之數組方案


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

彩票| 万州区| 宜兰县| 曲阳县| 莒南县| 兴文县| 惠来县| 得荣县| 伊川县| 休宁县| 望江县| 古交市| 乌鲁木齐县| 清水县| 双桥区| 奉贤区| 新宾| 清丰县| 玉田县| 昔阳县| 洪雅县| 古丈县| 灵丘县| 临沭县| 彭州市| 麦盖提县| 封开县| 汉阴县| 天台县| 中方县| 高陵县| 堆龙德庆县| 左权县| 南皮县| 深泽县| 彭泽县| 宁海县| 湖州市| 本溪市| 漾濞| 全州县|