C語言資料結構(一) 棧

2021-10-06 04:47:36 字數 1554 閱讀 5778

棧的實現比較簡單,主要是儲存方式有順序儲存和鏈式儲存兩種。在結構體定義上,可以直接分配陣列大小,定義棧空間;也可以在結構體定義中,使用指標,再在初始化棧時分配空間。

#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...