数据结构——栈(动态数组实现)

it2022-05-05  74

栈:

代码实现:

栈的定义:

//定义 typedef int StackDataType; //因为是动态数组 typedef struct Stack { StackDataType* array; StackDataType size; //容量 //有效元素个数 StackDataType top; //栈顶 //因为栈顶经常改变所以要特定的指定栈顶 }Stack;

功能实现:初始化、销毁、入栈、出栈、判空、返回栈顶元素

//初始化 int chuStack(Stack* s) { s->size = 0; //动态的数组容量是动态增长的,为0就有栈了 return 0; } //销毁 int DeleteStack(Stack* s) { s->size = 0; //销毁也是,为0就有什么数据都没有了 return 0; } //入栈 int InitStack(Stack* s, int date) { s->array[s->size++] = date; //让数组数据最后一个加1个位置存date return 0; } //出栈 int PushStack(Stack* s) { s->size--; //size -1 就数据-1;数据出栈 return 0; } //返回栈顶元素 int ReturnTop(Stack* s) { return s->array[s->size-1]; } //判空 int EmptyStack(Stack* s) { if (s->size!=0) { return 1; } else { return 0; } }

 


最新回复(0)