數據結構——棧的講解(超詳細)

數據結構——棧的講解(超詳細)-騰訊云開發者社區-騰訊云

#include"Stack.h"
void STInit(ST* ps)
{ps->arr = NULL;ps->capacity = ps->top = 0;  //總空間個數和有用空間個數都初始化為0
}void STDestroy(ST* ps)
{if (ps -> arr)   //先判斷是否進行動態內存開辟了{free(ps -> arr);}ps->capacity = ps->top = 0;
}void STPush(ST* ps, STDataType x)   //類似順序表的尾插
{if (ps->capacity == ps->top){int newcaopacity = ps->capacity == 0 ? 4 : 2 * ps -> capacity;STDataType* arr1 = (STDataType*)realloc(ps->arr, newcaopacity * sizeof(STDataType));assert(arr1);ps->arr = arr1;ps->capacity = newcaopacity;}  //擴容完成ps->arr[ps->top++] = x;
}bool panduan(ST * ps)
{assert(ps);return ps -> top == 0;   //這個是來判斷棧是不是空了
}void STPop(ST* ps)
{assert(ps);assert(!panduan(ps));ps->top--;
}STDataType STTop(ST* ps)
{return ps->arr[ps->top - 1];
}int STSize(ST* ps)
{return ps->top;
}

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

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

相關文章

MySQL允許root用戶遠程連接

注意:在實際生產環境中,允許root用戶從任意主機(‘%’)連接存在安全風險,建議使用強密碼并限制訪問IP,或者創建具有必要權限的單獨用戶用于遠程連接。MySQL 配置遠程連接指南 1. 登錄 MySQL 服務器 mysql -…

STM32的 syscalls.c 和 sysmem.c

syscalls.c 是 STM32CubeIDE 自動生成的標準系統調用適配文件,用于裸機環境下支持 newlib 標準庫(如 printf, scanf, malloc)的運行。這份文件提供了標準庫運行所需的最小系統調用實現。現在我來逐段解析其作用,并補充你可能需要修…

Java零基礎筆記01(JKD及開發工具IDEA安裝配置)

1.Java簡介 Java是一種廣泛使用的計算機編程語言,由美國的Sun Microsystems公司(Stanford University Network)在1995年推出。Java以其跨平臺、面向對象、安全性高等特點,廣泛應用于企業級應用開發、移動應用開發等領域。2009年&a…

Spark SQL架構及高級用法

Spark SQL 架構概述 架構核心組件 API層(用戶接口) 輸入方式:SQL查詢;DataFrame/Dataset API。統一性: 所有接口最終轉換為邏輯計劃樹(Logical Plan),進入優化流程。 編譯器層&…

【機器學習深度學習】什么是下游任務模型?

目錄 前言 一、什么是下游任務模型? 二、為什么需要下游任務模型? 三、下游任務模型都在干嘛? 四、下游模型怎么訓練出來的? 五、圖解理解:上游 vs 下游 六、一個現實案例:BERT做情感分析 原始數據…

補充:問題:CORS ,前后端訪問跨域問題

補充:問題:CORS ,前后端訪問跨域問題 我這邊的解決方法是: myAxios.defaults.withCredentials true; // 配置為true,表示前端向后端發送請求的時候,需要攜帶上憑證cookie整體的: import axio…

洛谷 P13014 [GESP202506 五級] 最大公因數-普及-

題目描述 對于兩個正整數 a,ba,ba,b,他們的最大公因數記為 gcd?(a,b)\gcd(a,b)gcd(a,b)。對于 k>3k > 3k>3 個正整數 c1,c2,…,ckc_1,c_2,\dots,c_kc1?,c2?,…,ck?,他們的最大公因數為: gcd?(c1,c2,…,ck)gcd?(gcd?(c1,c2,……

前端-CSS-day1

目錄 1、初識CSS 2、CSS引入方式 3、標簽選擇器 4、類選擇器 5、id選擇器 6、通配符選擇器 7、畫盒子 8、字體大小 9、字體粗細 10、字體傾斜 11、行高 12、行高-垂直居中 13、字體族 14、font屬性 15、文本縮進 16、文本對齊方式 17、圖片對齊方式 18、文本…

解鎖萬能文件內容提取器:Apache Tika

01 引言 在日常工作中,你是否曾為這些場景頭疼過? 堆積如山的PDF、Word、Excel文檔,如何快速提取關鍵信息?用戶上傳的文件五花八門,如何自動識別類型并安全處理?構建搜索引擎時,如何讓系統“讀懂…

gemini-cli初體驗

目錄 準備配置環境變量運行使用基礎使用配置MCP調用MCP 參考 準備 NodeJS 18版本 配置環境變量 設置GEMINI_API_KEY 變量,在https://aistudio.google.com/apikey創建key 設置代理(可選,取決于您的網絡),不配置可能會報錯 api e…

Java --類變量和類方法--main語句

1. 類變量和類方法 介紹: 類變量也叫靜態變量/靜態屬性,是該類的所有對象共享的變量,任何一個該類的對象去訪問它時,取到的都是相同的值,同樣任何一個該類的對象去修改它時,修改的也是同一個變量。 語法…

spring boot項目配置使用minion

一. Minio概述 Minio是一款開源的高性能對象存儲服務,兼容Amazon S3 API,適用于私有云、混合云及邊緣計算場景。它采用分布式架構設計,支持水平擴展,提供數據加密、版本控制、生命周期管理等企業級功能,適用于存儲非結構化數據(如圖片、視頻、日志等)。 核心特性 S3兼…

<5>_Linux進程控制

目錄 一,進程創建,fork/vfork 1,fork創建子進程,操作系統都做了什么 2,寫時拷貝的做了什么 二,進程終止,echo $? 1,進程終止時,操作系統做了什么 2&…

阿里云服務器正確配置 Docker 國內鏡像的方法

📦 原理說明:什么是“Docker 鏡像加速器”? Docker 默認會從官方倉庫 registry-1.docker.io 拉取鏡像。由于網絡原因,在中國大陸訪問這個地址較慢甚至失敗。 鏡像加速器的作用是: 在國內部署一個緩存服務器&#xf…

PH熱榜 | 2025-07-05

1. todai 標語:你的第一份個性化快樂生活指數 介紹:Todai 是你個人的人工智能助手,幫助你獲得心理清晰和情感平衡。你可以隨時隨地記錄自己的情緒,發現情緒變化的規律,并獲取基于科學的工具。 產品網站:…

c++ duiLib環境集成

duiLib的Github鏈接:https://github.com/duilib/duilib 使用vcpkg快速安裝duilib以及配置。步驟如下: 1、用git下載vcpkg,下載報錯,這個錯誤通常表明在Git克隆過程中,與GitHub服務器的SSL連接被意外重置。改用http下…

一項基于粒子圖像測速PIV系統的泥石流模擬沖擊實驗

1實驗背景 全國進入“七下八上”防汛關鍵期,泥石流作為山區常見地質災害,突發性強,破壞力大,對人民群眾生命財產安全造成威脅,傳統觀測手段難以實現對碎石運動軌跡與水流場耦合效應的精細觀測。而粒子圖像測速PIV技術…

ADAS功能介紹

ADAS功能介紹 ADAS(Advanced Driving Assistance System)高級駕駛輔助系統,可分為如下幾大類功能。 IA(Information Assist)信息輔助類 IA類功能,均不包含駕駛行為的控制。這些功能又可以進一步細分為三…

【LUT技術專題】CLUT代碼講解

本文是對CLUT技術的代碼講解,原文解讀請看CLUT文章講解。 1、原文概要 CLUT利用矩陣在保持3DLUT映射能力的前提下顯著降低了參數量。整體流程如下所示。 整體還是基于3D-LUT的框架,只不過添加了一個壓縮自適應的變換矩陣。作者使用的損失函數在3DLUT的…

在LinuxMint 22.1(Ubuntu24.04)上安裝使用同花順遠航版

剛剛在LinuxMint 22.1(Ubuntu24.04)安裝完成同花順遠航版,體驗特別好,忍不住要及時給深受Linux平臺無好用行情軟件之苦的朋友們進行分享了。在此之前我一直只能用同花順Linux原生版的行情軟件,但是該軟件只有很基本的行情功能,而且…