永发信息网

写一个类用来模拟栈这种数据结构,要求底层 使用数组存储数据,并给出相应的进栈和出栈的方法。MyStack

答案:2  悬赏:20  手机版
解决时间 2021-11-24 07:35
  • 提问者网友:精神病院里
  • 2021-11-24 00:35
写一个类用来模拟栈这种数据结构,要求底层 使用数组存储数据,并给出相应的进栈和出栈的方法。MyStack
最佳答案
  • 五星知识达人网友:你可爱的野爹
  • 2021-11-24 01:38
你好,很高兴收到您的求助。希望我们的回答令您满意。
public class MyStack {
private int maxSize ;
private Object[] stackArray ;
private int top ;

public MyStack(int s){
maxSize = s ;
stackArray = new Object[maxSize] ;
top = -1 ;
}

public void push(Object j){
top++ ; //注意执行顺序
stackArray[top] = j ;
}

public Object pop(){
return stackArray[top--] ;
}

public Object peek(){
return stackArray[top] ;
}

public boolean isEmpty(){
return (top == -1) ;
}

public boolean isFull(){
return (top == maxSize-1) ;
}
}追问哥 咋跟给的题目不大一样?追答就是更齐全了一点。push就是进栈,pop就是出栈,其余的方法你要是不想要,删掉吧。
全部回答
  • 1楼网友:逃夭
  • 2021-11-24 01:55
C语言的方法,相信你改成C++的类肯定也没问题:
#include
#define MAXSIZE 100
void push(int a[] ,int &count)
{
if(count==MAXSIZE)
{
printf("对不起,该栈已满!");
}
else{
printf("请输入第%d入栈的值:\n",count+1);
scanf("%d",&a[count]);
count++;
}
}
int pop(int a[],int &count)
{
if(count==0)
{
printf("对不起,此栈是空栈");
}
else{
printf("第%d个数出栈成功,数值为:%d\n",count,a[count-1]);
return a[--count];
}
}
int main()
{
int count=0;
int arr[MAXSIZE];
push(arr ,count);
push(arr ,count);
pop(arr ,count);
pop(arr ,count);
}追问真心不会改 ,,,你帮我改改?
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯