- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
图的创建、遍历及应用
结点类
package ch06;
public class Node {
private Object data; // 存放结点值
private Node next; // 后继结点的引用
// 无参数时的构造函数
public Node() {
this(null, null);
}
//带一个参数时的构造函数
public Node(Object data) { // 构造值为data的结点
this(data, null);
}
//带两个参数时的构造函数
public Node(Object data, Node next) {
this.data = data;
this.next = next;
}
public Object getData() {
return data;
}
public void setData(Object data) {
this.data = data;
}
public Node getNext() {
return next;
}
public void setNext(Node next) {
this.next = next;
}
}
栈的抽象接口类
package ch06;
public interface IStack {
public void clear();
public boolean isEmpty();
public int length();
public Object peek();
public void push(Object x) throws Exception;
public Object pop();
}
链栈类
package ch06;
import ch06.Node;
public class LinkStack implements IStack{
private Node top; //栈顶元素的应用
//将栈置空
public void clear(){
top=null;
}
//判断栈是否为空
public boolean isEmpty(){
return top == null;
}
//求链栈的长度
public int length(){
Node p = top; //初始化,p指向栈顶元素,length为计数器
int length = 0;
while (p!=null){ //从栈顶元素开始向后查找,直到p指向空
p=p.getNext(); // p指向后继结点
++length; //长度增加1
}
return length;
}
//取栈顶元素并返回其值
public Object peek(){
if(!isEmpty()) //栈非空
return top.getData(); //返回栈顶元素的值
else
return null;
}
//入栈
public void push(Object x){
Node p = new Node(x); //构造一个新结点
p.setNext(top);
top = p; //新结点成为当前的首结点
}
//出栈
public Object pop(){
if(isEmpty()){
return null;
}
else{
Node p = top; //p指向被删除的结点(栈顶结点)
top = top.getNext(); //修改链指针,使栈顶结点从链栈中移去
return p.getData(); //返回栈顶结点的数据域的值
}
}
//输出栈中所有数据元素(从栈顶元素到栈底元素)
public void display(){
Node p = top; //初始化,p指向栈顶元素
while (p!= null){ /
您可能关注的文档
最近下载
- 招标考察作业标准及流程.docx VIP
- 专题15 议论文阅读(原卷版)2025年中考语文真题分类汇编(全国通用).docx VIP
- (完整版)三基三严考试题题库(附含答案).docx
- 专题12.28 添加辅助线构造三角形全等的十四种方法(题型梳理与方法分类讲解)(人教版)(学生版) 2024-2025学年八年级数学上册基础知识专项突破讲与练(人教版).docx VIP
- 2024创新十年未来十年-致敬中国生物医药创新奋斗者们.pdf VIP
- 广东省茂名市化州市2024-2025学年高一上学期11月期中生物试题【含答案解析】.docx VIP
- 将军饮马模型-将军饮马的数学模型.pdf VIP
- 高中语文散文阅读知识点思维导图.docx VIP
- 关于成立工程质量管理领导小组的通知.docx VIP
- 高中英语2025届高考高频词汇(共 688个 ).doc VIP
文档评论(0)