寫乙個順序棧

2021-07-25 07:28:57 字數 1585 閱讀 8102

任務和**:

#include

#define stack_size 100        //定義棧大小為100

#define ok        0   

#define error    -1  

typedef int datatype;

typedef struct

seqstack;

// 置空棧

int initstack (seqstack *s)

s->top = -1;

return ok;

}// 判斷空棧

int stackempty(seqstack *s)

return s->top == -1;   // 邏輯表示式 相等返回1 不相等返回0

}// 判斷滿棧

int stackfull(seqstack *s)

return s->top == stack_size-1;

}// 壓棧

int push(seqstack *s, datatype data)

// 判斷是否滿棧

if (stackfull(s))

/* s->top++;

s->data[s->top] = data; */

s->data[++s->top] = data;

printf ("%4d", data);

return ok;

}// 出棧

int pop(seqstack *s)

// 判斷是否空棧

if (stackempty(s))

datatype data = s->data[s->top--];

return data;

}// 獲取棧頂元素

int gettop(seqstack *s)

// 判斷是否空棧

if (stackempty(s))

printf("棧頂元素值=");

printf("%d\n", s->data[s->top]);

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

}int main()

if (stackempty(&stack))

else

int i;

for (i=0; i<10; i++)

}printf("\n");

if (stackempty(&stack))

else

gettop(&stack);

for (i=0; i<10; i++)

printf("\n");

if (stackempty(&stack))

else

return 0;

執行結果:

心得體會:

棧,是硬體。主要作用表現為一種資料結構,是只能在某一端插入和刪除的特殊線性表。

它按照後進先出

的原則儲存資料,先進入的資料被壓入棧底,最後的資料在棧頂,需要讀資料的時候從棧頂開始彈出資料(最後乙個資料被第乙個讀出來)。 

python寫乙個服務 Python寫乙個服務

coding utf 8 import json from urllib.parse import parse qs from wsgiref.server import make server 定義函式,引數是函式的兩個引數,都是python本身定義的,預設就行了。定義檔案請求的型別和當前請求成功...

寫乙個東東

最近打了幾天的三國無雙6,感覺不錯!很久很久以前,乙個小學同學帶了我到機室玩三國無雙。自此,我便喜歡上了這個遊戲。現在我玩的遊戲內有兩個 三國無雙和cs。ps 曾經有些怪我的這個好朋友帶我打遊戲,但現在想來,若不是他,我的童年又怎麼會有歡樂呢。人活著,快樂是最重要的.因為以前是用專用手柄打的,感覺非...

寫乙個網頁

1 建立站點資料夾,站點資料夾的名字可以是中文 2 在站點資料夾下面建立子資料夾和子檔案 css js images html,前三個都是資料夾形式 子資料夾和子檔案的名字不能是中文 2.重置所有預設的樣式和設定一些全域性樣式,並將設定樣式的css檔案和對應的頁面關聯起來 3.劃分區域 如果的寬度大...