单链表实现栈的压栈弹栈操作~
来看看思路先
压栈
弹栈
全部测试代码
package 数据结构.栈;
/**
* Created with IntelliJ IDEA.
*
* @Auther: 风离
* @Date: 2020/11/05/9:13
* @Description:
*/
public class 链表模拟栈 {
public static void main(String[] args) {
LinkedList l1=new LinkedList(1);
LinkedList l2=new LinkedList(2);
LinkedList l3=new LinkedList(3);
LinkedListToStack L=new LinkedListToStack();
L.push(l1);
L.push(l2);
L.push(l3);
L.pop();
L.pop();
L.show();
}
}
class LinkedList{
int no;
LinkedList next;
public LinkedList(int no) {
this.no = no;
}
@Override
public String toString() {
return "LinkedList{" +
"no=" + no +
'}';
}
}
class LinkedListToStack{
LinkedList head=new LinkedList(-1);
LinkedList temp=head;
public void push(LinkedList linkedList){
if(head.next==null){
head.next=linkedList;
return;
}
LinkedList cur = head.next;
temp.next=linkedList;
linkedList.next=cur;
}
public void pop(){
head=head.next;
}
public void show(){
if(head.next==null)
{
System.out.println("链表已空~");
return;
}
LinkedList temp2=head.next;
System.out.println("栈顶元素到栈底元素依次为:");
while(true){
if(temp2==null)
{
break;
}
System.out.println(temp2);
temp2=temp2.next;
}
}
}