與佇列不同,棧的插入和刪除遵循lifo原則。對棧的操作只需要乙個一維陣列,乙個指向棧頂的變數top即可。通過top來對棧進行插入和刪除。下面通過判斷回文案例來說明:
示例:pandas 是基於numpy 的一種工具,該工具是為了解決資料分析任務而建立的。
#include
#include
using namespace std;
intmain()
//判斷字串長度是奇數還是偶數,並找出需要進行字串匹配的起始下標
if(len %2==
0)else
//開始匹配
for(i = next; i <= len -
1; i++
)//用mid之後的字元與mid前出棧的字元比較
if(top ==0)
cout <<
"您輸入的字串是回文!"
<< endl;
else
cout <<
"您輸入的字串不是回文!"
<< endl;
getchar()
;getchar()
;system
("pause");
return0;
}
注意的幾點:
1、c++獲取字串的方法
2、注意入棧和出棧操作
3、注意要判斷字串長度是奇是偶
括號匹配的檢驗,見嚴蔚敏《資料結構》p55 暫無
啊哈!演算法 解密回文
原書中讀取字串使用了gets 使用此函式讀取字串很危險,因此改用了fgets 替代,修改後 如下 1 include 2 include 34 int main void 5 1718 判斷字串長度是奇數還是偶數,以決定需要匹配的後半部分起始下標 19 next len 2 mid 2 mid 1 ...
《啊哈!演算法》學習2
今天去拔了一顆智齒,真可怕,早上拔的,現在還疼,憂傷,include using namespace std int main int head 0,tail 9 tail記錄隊尾的下乙個元素 邊刪除邊列印 while head tail not null struct stack int main...
啊哈磊 演算法2 氣泡排序
演算法2 鄰居好說話 氣泡排序 簡化版的桶排序不僅僅有上一節所遺留的問題,更要命的是 它非常浪費空間!例如需要排序數的範圍是0 2100000000之間,那你則需要申請2100000001個變數,也就是說要寫成int a 2100000001 因為我們需要用2100000001個 桶 來儲存0 21...