c语言用数组实现栈的插入,C语言静态数组实现栈操作
該樓層疑似違規(guī)已被系統(tǒng)折疊?隱藏此樓查看此樓
#include
#include
#include
#include
#define STACK_TYPE int
#define STACK_SIZE 100
#if 1
int top_element = 0;
STACK_TYPE stack[STACK_SIZE];
void push(STACK_TYPE value);
void pop(void);
STACK_TYPE top();
STACK_TYPE EEE();
STACK_TYPE is_full();
STACK_TYPE show_stack();
void push(STACK_TYPE value)
{
assert(!is_full());
top_element += 1;
stack[top_element]=value;
}
void pop(void)
{
assert(!EEE());
printf("pop()函數(shù)調(diào)用棧頂?shù)闹?#61;%d\n", stack[top_element]);
top_element -= 1;
}
STACK_TYPE top()
{
assert(!EEE());
return stack[top_element];
}
STACK_TYPE EEE()
{
return top_element ==0;
}
STACK_TYPE is_full()
{
return top_element ==STACK_SIZE;
}
STACK_TYPE show_stack()
{
assert(!EEE());
int n = top_element;
while (top_element>0)
{
printf("棧元素%d=%d\n", top_element,top());
stack[top_element--];
}
top_element = n;//top_element = top_element +n;
return stack[top_element];
}
int main()
{
int n,m;
int i=100;
while (1)
{
printf("1.輸入棧頂元素\n");
printf("2.刪除棧頂元素\n");
printf("3.顯示棧頂元素\n");
printf("4.顯示所有棧元素\n");
printf("5.退出程序\n");
//scanf("%d", &n);
scanf("%d", &m);
switch (m)
{
case 1:
{
scanf("%d", &n);
int*p = (int*)malloc(sizeof(int)*n);
*p = n;
push(*p);
}
break;
case 2:
pop();
getchar();
break;
case 3:
printf("棧頂元素的值=%d\n",top());
getchar();
break;
case 4:
show_stack();
getchar();
break;
case 5:
exit(0);
break;
}
getchar();
//getchar();
system("cls");
}
//push(95);
//push(102);
//pop();
//printf("pop()函數(shù)調(diào)用后棧頂?shù)闹?#61;%d\n", top());
getchar();
return 0;
}
總結(jié)
以上是生活随笔為你收集整理的c语言用数组实现栈的插入,C语言静态数组实现栈操作的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言请编写函数mygets,c语言中请
- 下一篇: c语言为什么数据写不进文件,求大神看看为