ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [转载]【JAVA程序设计】活动第1轮第1题

[转载]【JAVA程序设计】活动第1轮第1题

原创 Linux操作系统 作者:dinner1007 时间:2019-06-01 15:24:04 0 删除 编辑
【JAVA程序设计】活动第1轮第1题
题目:
一.用数组实现堆栈。
要求:
1.数组类型为INT;
2.实现print方法,即输出堆栈数据;
3.实现push方法,即存入数据到堆栈中;
4.实现pop方法,即从堆栈中取出数据;
注意:
堆栈的特性:先进后出(FILO)。

Arrya.java源程序文件如下:

public class Array {
// 主函数
public static void main(String[] args) {

Func fun=new Func();//创建包含堆栈操作方法的新类;
Func.flag=fun.array.length-1;//初始化栈顶指针

System.out.println("堆栈所存储数据默认值全为0");
fun.print(fun.array);

System.out.println("入栈操作!!!");
fun.push(fun.array,2);//入栈操作
fun.push(fun.array,6);
System.out.println("入栈操作后堆栈数据存储情况!!!");
fun.print(fun.array);

System.out.println("出栈操作!!!");
fun.pop(fun.array);
System.out.println("出栈操作后堆栈数据存储情况!!!");
fun.print(fun.array);

System.out.println("入栈操作!!!");
fun.push(fun.array,8);//入栈操作
System.out.println("入栈操作后堆栈数据存储情况!!!");
fun.print(fun.array);


}
}

//堆栈操作方法类
class Func {

static int flag; //静态变量,指示栈顶位置
int array[]=new int[5];//整型数组;


//判断堆栈是否为空
boolean isEmpty()
{
if(flag==array.length-1) return true;//栈顶指针指向栈底,堆栈为空
else
return false;
}


//判断堆栈是否已满
boolean isFull()
{
if(flag==-1) return true;//栈顶指针值为-1时指向栈顶,堆栈为空
else
return false;
}


//print方法,输出堆栈数据;
void print(int array[])
{
System.out.println("堆栈中的数据为: ");
for(int i=0;i {
System.out.println(array[i]);
}
}


// push方法,即存入数据到堆栈中
void push(int a1[],int a)
{
if(isFull())
{
System.out.println("堆栈已满!!请先执行出栈操作再进行入栈操作!!");
}
else
{
a1[flag]=a;
flag--;//栈顶指针-1
}
}


//pop方法,即从堆栈中取出数据
void pop(int a2[])
{
if(isEmpty())
{
System.out.println("堆栈为空!!请先执行入栈操作再进行出栈操作!!");
}
else
{
flag++;//栈顶指针+1
a2[flag]=0;
}
}


}

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/374079/viewspace-130755/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-08-23

  • 博文量
    1714
  • 访问量
    1477745