1.太简单了,不介绍了,直接贴代码,有问题请看10,11,章
//测试代码
public static void main(String[] args) throws IOException {
LinkStack<Integer> intStack = new LinkStack<>();
for (int i =0;i<100;i++){
intStack.push(i);
}
String value = "";
while (intStack.len()!= 0){
value+= intStack.pop()+" ";
}
System.out.println(value);
}
测试结果:
栈代码:
package com.stack.order;
import DoubleDirTable.Element;
import DoubleDirTable.TElement;
import DoubleDirTable.TTable;
import org.omg.CORBA.PUBLIC_MEMBER;
public class LinkStack<T> implements IStack<T> {
//该链表的定义见第十三章
//卜若的代码笔记-数据结构系列-第十三章(补充):泛型单向链表
TTable<Element<T>> table ;
public LinkStack(){
table = new TTable();
}
int pointer;
@Override
public void push(T t) {
table.add(new TElement<T>(t));
}
@Override
public T pop() {
Element<T> element = table.end();
table.delete(table.len() - 1);
return element.getValue();
}
@Override
public T peek() {
return table.end().getValue();
}
@Override
public T search(int index) {
return table.get(index).getValue();
}
@Override
public int len() {
return table.len();
}
}