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...