C語言實現順序棧的ADT 與 利用棧實現二進位制轉換

2021-10-25 03:31:34 字數 1470 閱讀 5584

#include

#include

#define maxsize 30

typedef

struct

sqstack;

void

initstack

(sqstack *

&s)void

stackempty

(sqstack *s)

else

}int

push

(sqstack *s,

int e)

s->top++

; s->data[s->top]

= e;

return s->data[s->top];}

intpop

(sqstack *s,

int&e)

e = s->data[s->top]

; s->top--

;return e;

}int

gettop

(sqstack *s,

int&e)

e = s->data[s->top]

;return e;

}void

destorystack

(sqstack *s)

void

trans

(sqstack *s,

int n)

}else

int e;

printf

("%d轉換為二進位制為:"

,i);

while

(s->top >-1

)}intmain()

int e;

printf

("\n請輸入乙個要入棧的元素:");

scanf

("%d"

,&e)

;printf

("入棧 %d\n"

,push

(s,e));

printf

("取棧頂元素 %d\n"

,gettop

(s,e));

printf

("出棧 %d\n"

,pop

(s,e));

printf

("\n*****===實現二進位制的轉換*****===\n\n");

int n;

initstack

(s);

printf

("請輸入乙個要轉換的數字(0-99):");

! 順序棧與鏈式棧的C語言實現 !

基本操作 入棧 出棧 取棧頂元素 基本特性 先進後出 注意 棧本身不能遍歷,不能列印,我們在 中實現的列印只是為了檢查 的正確性 具體操作的詳細解釋在 中會有注釋。1.順序棧 在結構體內定義乙個變數以 使用malloc申請記憶體,從而實現將順序表的固定長度修改為可動態擴容 seqstack.h pr...

C語言 實現 順序棧

seqstack.h 標頭檔案宣告如下 include typedef int datatype 自定義資料型別,假定為整型 typedef struct seqstack 順序棧定義 seqstack typedef struct seqstack pseqstack 順序棧的指標型別 建立乙個容...

C語言實現順序棧

順序棧,就是用一組位址連續的儲存單元來存放棧元素,然後用乙個棧結構去維護乙個棧。在c中,可用動態開闢的陣列去表示,維護的棧結構需要有乙個棧底和乙個棧頂指標。因為開闢乙個陣列需要事先知道它的大小,所以棧結構裡就必須還有乙個整型變數來表示當前棧的儲存容量,再可定義乙個變數用來擴充棧的最大容量。實現如下 ...