데이터 구조 - 체인 스 택
2738 단어 사슬 창고
LinkNode (노드) - 봉인 - > LinkList (체인 테이블) - 봉인 - > LinkStack (체인 창고)
기본 데이터 단위 노드
LinkNode.java
/**
* ,
*
* @author mingwei
*
*/
public class LinkNode {
/**
*
*/
Object mData;
/**
*
*/
LinkNode mNext;
/**
*
*
* @param data
*
*/
public LinkNode(Object data) {
mData = data;
}
}
링크 구조, 머리 에서 노드 삽입 및 삭제
/**
* ,
*
* ->addHeadNode
*
* ->removeHeadNode
*
* @author mingwei
*
*/
public class LinkList {
/**
*
*/
String mName;
/**
*
*/
LinkNode mHeadNode;
/**
* ,
*
* @param name
*/
public LinkList(String name) {
mName = name;
}
/**
*
*
* :
*
* 1.
*
* 2. next
*
* 3.
*
* @param data
*
*/
public void addHead(Object data) {
LinkNode node = new LinkNode(data);
node.mNext = mHeadNode;
mHeadNode = node;
}
/**
*
*
* :
*
* 1.
*
* 2. , , , ,
*
*
* @return
*/
public Object removeHead() {
if (mHeadNode == null) {
throw new IndexOutOfBoundsException(mName + "'s headnode is null");
}
LinkNode temp = mHeadNode;
mHeadNode = mHeadNode.mNext;
return temp.mData;
}
/**
*
*
* :
*/
public void printLinkList() {
if (mHeadNode == null) {
System.out.println(mName + "=linklist is null");
return;
}
LinkNode node = mHeadNode;
System.out.print(mName + "=");
while (node != null) {
System.out.print(node.mData + "|");
node = node.mNext;
}
System.out.print("
");
}
}
체인 스 택 구조, push 스 택 과 pop 스 택 작업
/**
*
*
* push
*
* pop
*
* @author mingwei
*
*/
public class LinkStack {
/**
* ,
*/
LinkList mLinkList = new LinkList(" ");
/**
*
*/
public void push(Object node) {
mLinkList.addHead(node);
}
/**
*
*
* @return
*/
public Object pop() {
return mLinkList.removeHead();
}
/**
*
*/
public void printStack() {
mLinkList.printLinkList();
}
}
사용:
결과:
public class Test {
public static void main(String[] args) {
LinkStack stack = new LinkStack();
stack.push("a");
stack.push("b");
stack.push("a");
stack.printStack();
stack.pop();
stack.printStack();
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
데이터 구조 - 체인 스 택자바 구현 체인 스 택 데이터 구조 LinkNode (노드) - 봉인 - > LinkList (체인 테이블) - 봉인 - > LinkStack (체인 창고) 기본 데이터 단위 노드 LinkNode.java 링크 구조...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.