企業常見筆試題目 資料結構棧與進製轉換

2021-04-13 03:21:55 字數 1032 閱讀 7762

測試空間旗下大頭針

出品

今天是端午節,也是c語言輔導的最後一課.講了有關排序和棧的內容,特別是棧,企業有是很多時候都會問到這塊知識.

c語言這塊內容,企業很容易考進製轉換.為什麼呢?記得以前學習組合語言的時候最經常做的事情就是進製的轉換,把10進製與2進製,10進製與16進製制,10進製與8進製的轉換.了解計算機的人都知道電腦中硬體只能處理2進製資料,而我們一般輸入的資料都是10進製,硬體是沒有辦法處理的.這樣只能通過把10進製轉換成2進製的方式來解決這個問題.

轉換的方式有好多種,今天介紹一下用棧的方式來實現.剛好上次blog說過有關棧的問題.

首先由結構體來定義乙個順序棧.(順序棧用途是廣泛的)

#include

#include

#define stack_init 10 /*儲存空間初始分配量*/

#define stack_add 2 /*儲存空間分配增量*/

typedef struct sqstack

stack;

/*初始化棧是可是使用棧的第一步哦*/

int initstack(stack *s)

幾個基本操作:

/*壓棧*/

int push(stack *s,int e)

*((*s).top)++=e;

return 1;

}int pop(stack *s,int *e)

//什麼是空棧呢?

int stackempty(stack s)

//有了前面一些關於棧的基本操作,那麼下面我們來實現進製轉換.

void change()

while(!stackempty(s))

printf("/n");

}void main()

好了,感覺如果讀懂了這道題目,一些有關棧的基本的筆試問題,應該沒有多大問題.

以後會陸續收集相關的筆試題目.

關於鍊錶和2級指標:

c程式單鏈表面試題詳解

資料結構筆試題目

1 c 編成求二叉樹的深度 int bintreedepth link head 2 排序二叉樹插入乙個節點或雙向鍊錶的實現 排序二叉樹 左小於根,根小於右。左右又分別是排序二叉樹。前序遍歷 根左右 中序遍歷 左根右 後序遍歷 左右根 排序二叉樹插入乙個結點 大於左,往右找,小於右往左找,遞迴實現。...

資料結構筆試題

一 如何判斷乙個單鏈表是有環的?注意不能用標誌位,最多只能用兩個額外指標 struct node bool check const node head return false 無環 true 有環 一種o n 的辦法就是 搞兩個指標,乙個每次遞增一步,乙個每次遞增兩步,如果有環的話兩者必然重合,反...

筆試題之資料結構

時間複雜度 整個演算法的執行時間與基本操作重複執行的次數成正比。參考kmp演算法,該演算法的時間複雜度為q n 通常,模式串的長度n比主串的長度m要小的多 穩定排序 排序前後,數值的相對前後位置不變的為穩定排序,否則為不穩定排序。1 簡單排序,時間複雜度o n的平方 不穩定 2 快速排序,時間複雜度...