數組實現棧

學習了改進,利用define typedef比上次寫的鏈表更容易改變功能,方便維護,代碼更健壯。

大佬別嫌棄,萌新總是很笨,用typedef都想不到。

#include<stdio.h>
#include<stdbool.h>
#define maxsize 10
typedef int datatype;
typedef struct stack
{datatype data[maxsize];int top;
}Stack;
Stack s;
void init()//初始化
{s.top=-1;
}
int Empty()//是否空
{if(s.top==-1)return 1;return 0;
}
int full()//是否滿
{if(s.top==maxsize-1)return 1;return 0;
}
void Push(datatype element)//入棧
{if(!full()){s.top++;s.data[s.top]=element;}else printf("棧滿\n");
}
void Pop()//出棧
{if(!Empty()) s.top--;else printf("棧空\n");
}
datatype Top()//取棧頂元素
{if(!Empty()) return s.data[s.top];printf("棧空\n");
}
void Destroy()//銷毀
{s.top=-1;
}

測試不寫了。

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

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

相關文章

簡單暴力到dp的優化(中級篇)

下面再放三道我比較喜歡的&#xff0c;需要好好寫一下的題。 第一題比較水 1. White Cloud is exercising in the playground. White Cloud can walk 1 meters or run k meters per second. Since White Cloud is tired,it cant run for two or more continuous seconds. Whi…

第二次課 課上代碼

敲一遍&#xff0c;體會每行代碼想表達的意思。 第二講 創建.py文件 數據類型&#xff1a;布爾(and\or\not) 條件判斷語句(if elif else) 列表基礎操作&#xff08;特點、創建、增加元素、len()、下標、py切片&#xff09; >>> 5>4 True >>> 4>5 Fa…

第一次課 優秀作業展示

18級河北師大軟件編程訓練 很多同學非常認真的完成了作業&#xff0c;這里選出比較優秀的作業展示出來。 注&#xff1a;展示順序不是排名 為了尊重同學們的勞動成果&#xff0c;并沒有要代碼&#xff0c;只是截圖展示。 范天祚 &#xff08;傻兔子&#xff09; 熊靜祎&…

dp打開思路:HDU1029 HDU1087 HDU1176?HDU1257 POJ1458(水題不水)

題目&#xff1a;https://vjudge.net/contest/68966#overview HDU - 1029 題意&#xff1a;找出出現次數超過一半的數字 蠢思路&#xff1a;排序找中間 DP&#xff1a;掃一遍一個變量count記錄解出現的次數&#xff0c;是當前解就&#xff0c;否則--&#xff0c;count為負就…

dp打開思路2:POJ2533 HDU1114 HDU1260 HDU1160(水題不水)

題目&#xff1a;https://vjudge.net/contest/68966#overview POJ2533 最長上升子序列&#xff0c;很平常的題&#xff0c;但是維持單調隊列二分還是值得一貼的&#xff0c;O(nlogn) 關鍵思想&#xff1a;出現在單調隊列里的數都在當前接收的數之前&#xff0c;所以找到最小…

二分查找及一般拓展總結

二分-不止是查找哦 二分過程&#xff1a;首先&#xff0c;假設表中元素是按升序排列&#xff0c;將表中間位置記錄的關鍵字與查找關鍵字比較&#xff0c;如果兩者相等&#xff0c;則查找成功&#xff1b;否則利用中間位置記錄將表分成前、后兩個子表&#xff0c;如果中間位置記…

第三次課 課上代碼

這次可能比較簡短&#xff0c;這樣也好&#xff0c;可讀性比較強。 別問我為什么&#xff0c;我不會告訴你們我把代碼關了的哼哼。 簡單復習、注意事項及小知識強調講解 作業講解 列表的遍歷 For循環&#xff08;這個參考切片&#xff0c;視頻有詳細講解&#xff0c;一樣的…

排序算法基本介紹及python實現(含詳細注釋)

對數組排序可以說是編程基礎中的基礎&#xff0c;本文對八種排序方法做簡要介紹并用python實現。 代碼中注釋很全&#xff0c;適合復習和萌新學習。這是剛入學自己寫的&#xff0c;可能難免比不上標準的寫法&#xff0c;但是懶得改了。 文末會放和排序相關的基本拓展總結鏈接…

第二次作業 講解及展示

第二次作業&#xff0c;同學們雖然在認真完成&#xff0c;但是或多或少都出了一些錯誤&#xff0c;一班張婷&#xff0c;四班武儀人&#xff0c;六班楊澤宇&#xff0c;八班候雯潔&#xff0c;安錦陽&#xff0c;劉凈圓&#xff0c;這些同學完成的較為出色&#xff0c;錯誤較少…

深搜DFS\廣搜BFS 圖初步入門

首先&#xff0c;不管是BFS還是DFS&#xff0c;由于時間和空間的局限性&#xff0c;它們只能解決數據量比較小的問題。 深搜&#xff0c;顧名思義&#xff0c;它從某個狀態開始&#xff0c;不斷的轉移狀態&#xff0c;直到無法轉移&#xff0c;然后退回到上一步的狀態&#xf…

素數基本(埃氏篩法/線性篩法)

一、檢查n是否為素數 最簡單思路&#xff1a;所有可能的因數全部試一遍。 int gg(int n) {for(int i2;i<n;i){if((n%i)0)return 0;//有因數就不是素數咯}return 1; } 進一步思考&#xff1a;沒必要枚舉所有的數&#xff0c;每一個小于n^(1/2)的因數i&#xff0c;一定有一個大…

歐幾里得gcd/extend_gcd

正式敘述前還寫了一點自己的小感受。 問題&#xff1a;求兩個正整數a&#xff0c;b的最大公約數。 大神看來是很簡單的問題&#xff0c;但是對于去年夏天剛學python的我來說&#xff0c;這是個很難的問題&#xff0c;還記得當時一晚上睡不著都在想怎么快一點的求出最大公約數…

python基礎技巧總結(一)

最近總結一下python基礎知識&#xff0c;就暫時棄坑了。 本文總結只屬于python的一些騷操作。。。 后面文章自行去博客學習交流 原地交換 Python 提供了一個直觀的在一行代碼中賦值與交換&#xff08;變量值&#xff09;的方法 x, y 10, 20 print(x, y)x, y y, x print(x…

python基礎技巧總結(二)

一總結的鏈接&#xff1a; 好&#xff0c;我們繼續 一次性初始化多個變量 可以直接賦值&#xff1a; a,b,c,d1,2,3,4 可以利用列表&#xff1a; List [1,2,3] x,y,zList print(x, y, z) #-> 1 2 3 &#xff08;元素個數應與列表長度相同&#xff09; 打印模塊路徑 im…

python基礎技巧總結(三)

前兩篇文章&#xff1a; https://blog.csdn.net/hebtu666/article/details/81698235 https://blog.csdn.net/hebtu666/article/details/81698329 我們繼續總結&#xff1a; 開啟文件分享 Python 允許運行一個 HTTP 服務器來從根路徑共享文件&#xff0c;下面是開啟服務器的…

python基礎技巧總結(四)

前三期請到我博客里找 https://blog.csdn.net/hebtu666 我們繼續總結 except的用法和作用 try/except: 捕捉由PYTHON自身或寫程序過程中引發的異常并恢復 except: 捕捉所有其他異常 except name: 只捕捉特定的異常 except name, value: 捕捉異常及格外的數據(實例) exce…

python基礎技巧總結(五)

前四期到博客找&#xff1a;https://blog.csdn.net/hebtu666 我們繼續說一些好用的函數 split Python split() 通過指定分隔符對字符串進行切片&#xff0c;如果參數 num 有指定值&#xff0c;則僅分隔 num 個子字符串。 語法&#xff1a; str.split(str"", num…

堆的簡單實現

關于堆不做過多介紹 堆就是兒子的值一定不小于父親的值并且樹的節點都是按照從上到下&#xff0c;從左到右緊湊排列的樹。 &#xff08;本文為二叉堆&#xff09; 具體實現并不需要指針二叉樹&#xff0c;用數組儲存并且利用公式找到父子即可。 父&#xff1a;(i-1)/2 子:…

二叉搜索樹實現

本文給出二叉搜索樹介紹和實現 首先說它的性質&#xff1a;所有的節點都滿足&#xff0c;左子樹上所有的節點都比自己小&#xff0c;右邊的都比自己大。 那這個結構有什么有用呢&#xff1f; 首先可以快速二分查找。還可以中序遍歷得到升序序列&#xff0c;等等。。。 基本操…

python基礎小白題

題目1&#xff1a;有1、2、3、4四個數&#xff0c;能組成多少個互不相同且無重復的三位數&#xff1f;都是多少&#xff1f; list_num[1,2,3,4] all_num[] for i in list_num: for j in list_num: for k in list_num : if (i!j) and (i!k) and (j!k): numi*100j*10k all_num…