順序棧和鏈棧

#include<iostream>
using namespace std;
#define MAXSIZE 100
typedef int SElemType;
typedef struct {
?? ?SElemType* base;
?? ?SElemType* top;
?? ?int stacksize;
}SqStack;//順序棧
//構造一個空棧
int InitStack(SqStack& s) {
?? ?s.base = new SElemType(MAXSIZE);
?? ?if (!s.base) {
?? ??? ?exit(OVERFLOW);
?? ?}
?? ?s.top = s.base;
?? ?s.stacksize = MAXSIZE;
?? ?return 1;
}
//判斷順序棧是否為空
int StackEmpty(SqStack s) {
?? ?if (s.top == s.base) {
?? ??? ?return true;
?? ?}
?? ?return false;
}
//求順序棧長度
int StackEmpty(SqStack s) {
?? ?if (s.top == s.base)return true;
?? ?return false;
}
//求順序棧長度
int StackLength(SqStack s) {
?? ?return s.top - s.base;
}
int ClearStack(SqStack s) {
?? ?if (s.base)
?? ??? ?s.top = s.base;
?? ?return 1;
}
//銷毀順序棧,釋放這塊空間
int DestoryStack(SqStack& s) {
?? ?if (s.base) {
?? ??? ?delete s.base;
?? ??? ?s.stacksize = 0;
?? ??? ?s.base = s.top = NULL;
?? ?}
}
//順序棧入棧
int push(SqStack& s, SElemType e) {
?? ?if (s.top - s.base == s.stacksize)return 0;
?? ?*s.top = e;
?? ?s.top++;
?? ?return 1;
}
//順序棧的pop
int pop(SqStack& s, SElemType& e) {
?? ?if (s.top == s.base)return 0;
?? ?--s.top;
?? ?e = *s.top;
?? ?return 1;
}
int main() {
?? ?return 0;
}

鏈棧

#include<iostream>
using namespace std;

typedef struct StackNode {
?? ?int data;
?? ?struct StackNode* next;
}StackNode,*LinkStack;
void InitStaack(LinkStack& s) {
?? ?s = NULL;
?? ?return;
}
bool StackEmpty(LinkStack s) {
?? ?if (s == NULL)return true;
?? ?return false;
}
//鏈棧的入棧
int push(LinkStack& s, int e) {
?? ?LinkStack p = new StackNode;
?? ?p->data = e;
?? ?p->next = s;
?? ?s = p;
?? ?return 1;
}
int pop(LinkStack& s, int& e) {
?? ?if (s = NULL) {
?? ??? ?return 0;
?? ?}
?? ?e = s->data;
?? ?LinkStack p = s;
?? ?s = s->next;
?? ?delete p;
?? ?return 1;
}
int getTop(LinkStack s) {
?? ?if (s != NULL)return s->data;
}
int main() {
?? ?return 0;
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/164394.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/164394.shtml
英文地址,請注明出處:http://en.pswp.cn/news/164394.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Django之中間件與CSRF_TOKEN

文章目錄 一、什么是中間件二、中間件有什么用三、Django自定義中間件中間件中主要方法及作用創建自定義中間件的步驟&#xff1a;process_request與process_response方法process_view方法process_exceptionprocess_template_response&#xff08;不常用&#xff09; 四、CSRF_…

mysql latin-1報錯解決

conn pymysql.connect(hostmeta_conf[host], usermeta_conf[user], passwordmeta_conf[password], portmeta_conf[port], charsetutf8) 光把表聲明 ENGINEINNODB DEFAULT CHARSETutf8mb4 COLLATEutf8mb4_bin ROW_FORMATDYNAMIC 并不能解決這個報錯,需要在創建mysql連接時候…

面試:RabbitMQ相關問題

文章目錄 簡單介紹RabbitMQRabbitMQ架構什么是 RabbitMQ&#xff1f;有什么顯著的特點&#xff1f;RabbitMQ 有那些基本概念&#xff1f;RabbitMQ routing 路由模式消息怎么路由&#xff1f;RabbitMQ publish/subscribe 發布訂閱(共享資源)能夠在地理上分開的不同數據中心使用 …

vue2指令的使用和自定義指令

前言 個人認為vue的指令,對比react來說,給開發者節省了很大的學習成本。比如在react中,你想渲染一個列表,需要用Array.map的方法return<div>,而在vue中,一個簡單的v-for就解決了問題。 在學習成本和入手體驗上,vue的作者確實后來者居上,能讓人更快的使用vue開發。不過也…

無邊界電視點播TVbox殼+源

TBBox可以是個盒子也可以是軟件 視頻播放的困局新的改變TVBox apk更成熟的熊貓寶盒_3.10還有這個沒測試恒星TV 寫在最后 視頻播放的困局 現在電視上幾大平臺看劇集都要充會員&#xff0c;而電腦上網頁端有很多可以看的網頁&#xff0c;只有 隨便一搜就測出來&#xff0c;只是經…

數據安全第一:應對[[MyFile@waifu.club]].wis勒索病毒的實用建議與技巧

引言&#xff1a; 在當今數字化時代&#xff0c;[[MyFilewaifu.club]].wis、[[backupwaifu.club]].wis勒索病毒是一種惡意軟件&#xff0c;其危害用戶數據安全&#xff0c;通過加密文件并勒索贖金來獲取經濟利益。以下是對[[MyFilewaifu.club]].wis、[[backupwaifu.club]].wis…

PyTorch包

進入PyTorch的官網&#xff1a; pytorch GitHub 點擊GitHub&#xff1a; 進入PyTorch的主目錄&#xff1a; 進入Vision reference&#xff1a; detection&#xff1a; 這就是我們在訓練過程中會使用到的文件了&#xff1a;

objdump反匯編文件解析

命令使用 objdump可以對可執行文件進行反匯編 其常用參數為: objdump -d <file(s)>: 將代碼段反匯編&#xff1b;objdump -S <file(s)>: 將代碼段反匯編的同時&#xff0c;將反匯編代碼與源代碼交替顯示&#xff0c;編譯時需要使用-g參數&#xff0c;即需要調試信…

Hadoop技術與應用的習題

第一章測驗 1、下面哪個選項不屬于Google的三駕馬車&#xff1f; A.HDFS B.MapReduce C.BigTable D.GFS 2、下面哪個思想是為了解決PageRank&#xff08;網頁排名&#xff09;的問題&#xff1f; A.GFS B.BigTable C.MapReduce D.YARN 3、GFS 存儲的文件都被分割成固定大小的…

CAN基礎知識

CAN 簡介 CAN 是 Controller Area Network 的縮寫&#xff08;以下稱為 CAN&#xff09;&#xff0c;是 ISO 國際標準化的串行通信 協議。在當前的汽車產業中&#xff0c;出于對安全性、舒適性、方便性、低公害、低成本的要求&#xff0c;各種 各樣的電子控制系統被開發了出來…

簡單的用Python采集股票數據,保存表格后分析歷史數據

前言 字節跳動如果上市&#xff0c;那么鐘老板將成為我國第一個世界首富 趁著現在還沒上市&#xff0c;咱們提前學習一下用Python分析股票歷史數據&#xff0c;抱住粗大腿坐等起飛~ 好了話不多說&#xff0c;我們直接開始正文 準備工作 環境使用 Python 3.10 解釋器Pychar…

如何應用ChatGPT撰寫、修改論文及工作報告,提供寫作能力及優化工作??

如果我想讓gpt從pdf文檔中提取相關關鍵詞的內容&#xff0c;可以怎么做呢&#xff1f;&#xff1f;我們評論區討論 ChatGPT 在論文寫作與編程方面也具備強大的能力。無論是進行代碼生成、錯誤調試還是解決編程難題&#xff0c;ChatGPT都能為您提供實用且高質量的建議和指導&am…

愛上C語言:scanf、gets以及getchar輸入字符串你真的懂了嗎

&#x1f680; 作者&#xff1a;阿輝不一般 &#x1f680; 你說呢&#xff1a;不服輸的你&#xff0c;他們拿什么贏 &#x1f680; 專欄&#xff1a;愛上C語言 &#x1f680;作圖工具&#xff1a;draw.io(免費開源的作圖網站) 如果覺得文章對你有幫助的話&#xff0c;還請點贊…

通過ros系統中websocket中發送sensor_msgs::Image數據給web端顯示

通過ros系統中websocket中發送sensor_msgs::Image數據給web端顯示 #include <ros/ros.h> #include <signal.h> #include <sensor_msgs/Image.h> #include <message_filters/subscriber.h> #include <message_filters/synchronizer.h> #include &…

spring 是如何開啟事務的, 核心原理是什么

文章目錄 spring 是如何開啟事務的核心原理1 基于注解開啟事務2 基于代碼來開啟事務 spring 是如何開啟事務的 核心原理 Spring事務管理的實現有許多細節&#xff0c;如果對整個接口框架有個大體了解會非常有利于我們理解事務&#xff0c;下面通過講解Spring的事務接口來了解…

建行廣東省江門市分行走進農村地區開展反假貨幣宣傳

人民對美好生活的向往&#xff0c;涉及方方面面&#xff0c;小至“錢袋子”安全。建行廣東省江門市分行落實當地監管部門部署&#xff0c;積極扛起維護國家金融安全的重要政治責任&#xff0c;深入農村地區開展反假貨幣宣傳工作&#xff0c;助力構建農村反假貨幣工作長效機制。…

Hyper-V系列:windows11開啟系統自帶安卓虛擬機并安裝apk包

本文記錄了Windows11系統下開啟系統自帶的安卓虛擬機,并通過安裝包安裝自定義應用的過程。開啟系統自帶的安卓虛擬機流程為:開啟Hyper-V、安裝Windows11子系統;安裝apk安裝包的流程為:安裝adb調試工具、開啟子系統的開發者模式、安裝apk應用包。 一. 開啟Hyper-V Hyper-V…

[BJDCTF2020]The mystery of ip1

提示 ssti模板注入head頭x-forwarded-for 每一次做題的最開始流程都大致因該是 信息收集找可以操控的地方 查看hint頁面的源代碼又發現它提示說 ####你知道為什么會知道你的ip嗎 查看flag頁面 從剛才給我的提示以及他這里顯示的我的ip&#xff0c;大概找到了我可操作的可控點 …

【Vue】創建第一個實例

步驟&#xff1a; 1.創建容器 2.引包 3.創建實例 4.添加配置項 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title> </head> <body><!--準備容器 --> <di…

【C語言:深入理解指針二】

文章目錄 1. 二級指針2. 指針數組3. 字符指針變量4. 數組指針變量5. 二維數組傳參的本質6. 函數指針變量7. 函數指針數組8. 轉移表9. 回調函數10. qsort函數的使用與模擬實現 1. 二級指針 我們知道&#xff0c;指針變量也是變量&#xff0c;它也有自己的地址&#xff0c;使用什…