棧的實現比較簡單,主要是儲存方式有順序儲存和鏈式儲存兩種。在結構體定義上,可以直接分配陣列大小,定義棧空間;也可以在結構體定義中,使用指標,再在初始化棧時分配空間。
#include "stdio.h"
#include "stdlib.h"
#include "stdbool.h"
#define max_data_num 100
typedef struct stackdata;
stackdata* createstack(void)
stack->pop = 0;
for (int i = 0; i < max_data_num; i++)
return stack;
}bool isempty(stackdata* stackdata)
else else
}}bool isfull(stackdata* stackdata)
else else
}}bool addelment(stackdata* stackdata, int data)
stackdata->data[stackdata->pop] = data;
stackdata->pop++;
return true;
}bool deleteelment(stackdata* stackdata)
stackdata->pop--;
return true;
}void visitstack(stackdata* stackdata)
printf("\n");
return ;
}void main(void)
#include "stdlib.h"
#include "stdbool.h"
#include "stdio.h"
#define max_data_num 100
typedef struct stackdata;
stackdata* createstack(void)
stackdata->pop = 0;
stackdata->data = (int*)malloc(sizeof(int) * max_data_num);
return stackdata;
}bool isempty(stackdata* stackdata)
else else
}}bool isfull(stackdata* stackdata)
else else
}}bool addelment(stackdata* stackdata, int data)
else
}bool deleteelment(stackdata* stackdata)
else
}void visitstack(stackdata* stackdata)
printf("\n");
return ;
}void main(void)
資料結構 棧(C語言)
資料結構 棧 c語言 功能 建棧 出棧 壓棧 判斷棧是否為空 include include define ele int typedef struct stack stack stack newstack 初始化棧 int push stack s,ele value 壓棧 int pop sta...
C語言資料結構 順序棧
順序棧為具有特殊運算操作的順序表,資料通過棧頂先進先出。棧的資料空間和陣列類似儲存固定的一類資料。儲存在連續的空間中,通過出棧和入棧來進行資料操作。具體看下面的函式實現 include define stacksize 20 定義順序棧結構 typedef structseqstack 初始化 vo...
C語言 資料結構 建立棧
include include define maxsize 100 建立棧 typedef int data typedef struct stack 建立棧 初始化 void init stack s s top s base s stacksize maxsize 判斷空棧 空 1 int n...