使用C語言順序表數(shù)據(jù)結構實現(xiàn)棧的代碼示例
更新時間:2023年09月22日 09:11:53 作者:gnip
這篇文章主要給大家介紹了如何使用C語言順序表數(shù)據(jù)結構實現(xiàn)棧,文章通過代碼示例介紹的非常詳細,對大家的學習或工作有一定的參考價值,需要的朋友可以參考下
代碼
頭文件、聲明等
#include<stdio.h>
#include<assert.h>
#include<stdlib.h>
#define true 1
#define false 0
#define bool char
#define MAX_SIZE 10
//鏈表數(shù)據(jù)類型
typedef int ElementType;
typedef struct Stack
{
ElementType data[MAX_SIZE];
int top;//棧頂指針(數(shù)組下標)
} Stack;
bool initStack(Stack* S);
bool push(Stack* S, ElementType data);
bool pop(Stack* S);
bool getTop(Stack* S, ElementType* x);main函數(shù)
int main() {
Stack S;
initStack(&S);
push(&S, 1);
push(&S, 2);
push(&S, 3);
ElementType x;
pop(&S);
getTop(&S, &x);
printf("%d", x);
return 0;
}初始化
bool initStack(Stack* S) {
for (int i = 0; i < MAX_SIZE; i++) {
S->data[i] = 0;
}
S->top = -1;
return true;
}判斷為空
bool isEmpty(Stack* S) {
if (S->top == -1) {
return true;
}
return false;
}入棧
bool push(Stack* S, ElementType data) {
if (S->top == MAX_SIZE - 1) {
return false;
}
S->data[++(S->top)] = data;
return true;
}出棧
bool pop(Stack* S) {
if (S->top == -1) {
return false;
}
S->data[S->top] = 0;
S->top--;
return true;
}獲取棧頂元素
bool getTop(Stack* S, ElementType *x) {
if (S->top == -1) {
return false;
}
*x = S->data[S->top];
return true;
}以上就是使用C語言順序表數(shù)據(jù)結構實現(xiàn)棧的代碼示例的詳細內(nèi)容,更多關于C語言實現(xiàn)棧的資料請關注腳本之家其它相關文章!
相關文章
C++編程產(chǎn)生指定范圍內(nèi)的隨機數(shù)
這篇文章主要為大家詳細介紹了C++編程產(chǎn)生指定范圍內(nèi)的隨機數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-09-09
matlab?GUI指紋識別門禁系統(tǒng)介紹及源碼實現(xiàn)
這篇文章主要為大家介紹了matlab?GUI指紋識別門禁系統(tǒng)的介紹及源碼實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步2022-02-02
C++ 中 <iterator> <functional>&nbs
這篇文章主要介紹了C++ 中 <iterator> <functional> <numeric> 庫好用的函數(shù),本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧2023-11-11

