資料結構 arithmetic棧和佇列

2021-08-22 09:57:38 字數 1292 閱讀 2713

2023年學習的資料結構作的筆記,一些演算法思想(偽**實現)在日常學習中仍顯得很重要,很多很多,在此記錄整理不斷補充,反覆看反覆理解反覆記憶,加油!

1、判別讀入的乙個以'@'為結束符的字串行是否為"回文"(palindrome,正反相同)

status palindrome()

while(!stackempty(s))

return true;

}

2、棧實現表示式中括號匹配

int match(char exp,int n)//表示式存放在exp中

else

return a/b;

}}//字尾表示式

int com(char exp)

}return stack[top];

}

4、用不帶頭結點的單鏈表儲存鏈棧

//初始化棧

void initstack(lnode *&1st)

//判棧空

int isempty(lnode *1st)

//進棧

void push(lnode *&1st,int x)

//出棧

int pop(lnode *&1st,int &x)

5、共享乙個儲存區的共享棧s0,s1,入棧操作

int push(seqstack &st,int stno,int x)//stno是棧編號

else return 0;

}else if(stno==1)

else return 0;

}else return -1;

}

7、兩個棧模擬乙個佇列,入佇列操作

int enqueue(seqstack &s1,seqstack &s2,int x)

push(s1,x);

return 1;}}

else//若s1沒有滿則元素x直接入棧

}

8、兩個棧模擬乙個佇列,出佇列操作

int dequeue(seqstack &s1,seqstack &s2,int &x)

else//若s2棧為空則看s1是否為空

pop(s2,x);

return 1;}}

}

資料結構 arithmetic線性表

2017年學習的資料結構作的筆記,一些演算法思想 偽 實現 在日常學習中仍顯得很重要,很多很多,在此記錄整理不斷補充,反覆看反覆理解反覆記憶,加油!1 尋找第1個比x大的元素的位置 int findelem seqlist l,int x 順序表sequence list 3 查詢第1個值等於e的元...

資料結構 棧 棧

可以把棧想像成乙個桶 進棧 就是把和桶口一樣大的燒餅往桶裡面扔 出棧 就是把燒餅拿出來 特點 先進後出。先扔進去的燒餅最後才能拿出來,最後扔進去的燒餅,第乙個拿出來 剛開始top 1 top 1 然後把進棧的元素賦值給data top 入棧操作 void push stack s,int x els...

資料結構 棧

例子 棧是一種被限制在只能在表的一端進行插入和刪除運算的線性表。區域性變數是用棧來儲存的 可以進行插入和刪除的一端稱為 棧頂 top 另一端稱為 棧底 bottom 當表中沒有元素時 表長為0的棧 稱為 空棧。棧的修改是按 後進先出的原則進行,因此棧被稱為後進先出 last in first out...