不同结构类型的介绍:
数组 链表 树 适用于数据库应用中作数据记录
int [] a=new int[10]
a[1]=100;
int b=a[1];
可以通过下标随时访问,也就是不受限访问
栈和队列
1.通常情况适用于作为程序员的工具来运用
2.受限访问(表现形式是先进后出)
3.更加抽象(主要通过接口实现)
栈:一组记录,表现形式是先进后出,
peek:查看,就是返回数据
pop:从栈中删除最顶端的元素,然后返回数值
push:在栈的最顶端插入一个数据
java代码:
public class Stack {
private long[] stackArray;//定义一个栈数组
private int max;
private int top;
public Stack(int s) {
// TODO Auto-generated constructor stub
max=s;
stackArray=new long[max];
top=-1;//初始没有数据的时候
}
//添加数据
public void push(long j){//添加数据
stackArray[++top]=j;
}
//查看并删除数据
public long pop(){
return stackArray[top--];
}
//只查看不删除
public long peek(){
return stackArray[top];//不删除,直接返回数据
}
//判断是不是为空
public boolean isEmpty(){
return top==-1;
}
//判断是否满了
public boolean isFull(){
return top==(max-1);
}
public static void main(String[] args) {
Stack stack=new Stack(10);
//先进后出
stack.push(10);
stack.push(5);
stack.push(20);
stack.push(4);
stack.push(50);
while(!stack.isEmpty()){
long value=stack.pop();
System.out.print(value+" ");
}
System.out.println();
if(!stack.isFull())//如果栈不满的话就往里面放数据
stack.push(1);
if(!stack.isFull())
stack.push(2);
if(!stack.isFull())//如果栈不满的话就往里面放数据
stack.push(3);
if(!stack.isFull())
stack.push(4);
if(!stack.isFull())//如果栈不满的话就往里面放数据
stack.push(5);
if(!stack.isFull())
stack.push(6);
if(!stack.isFull())//如果栈不满的话就往里面放数据
stack.push(7);
if(!stack.isFull())
stack.push(8);
if(!stack.isFull())//如果栈不满的话就往里面放数据
stack.push(9);
if(!stack.isFull())
stack.push(10);
if(!stack.isFull())//如果栈不满的话就往里面放数据
stack.push(11);
if(!stack.isFull())
stack.push(12);
while(!stack.isEmpty())
{
long value=stack.pop();
System.out.print(value+" ");
}
System.out.println();
System.out.println(stack.isEmpty());//判断是不是为空
}
}