首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明,Java代码将应填入(n)处的字句写在对应栏内。 【说明】 链表和栈对象的共同特征是:在数据上执行的操作与在每个对象中实体存储的基本类型无关。例如,一个栈存储实体后,只要保证最后存储的项最先用,最先存储的项最后用,则栈的操作可以
阅读以下说明,Java代码将应填入(n)处的字句写在对应栏内。 【说明】 链表和栈对象的共同特征是:在数据上执行的操作与在每个对象中实体存储的基本类型无关。例如,一个栈存储实体后,只要保证最后存储的项最先用,最先存储的项最后用,则栈的操作可以
admin
2012-12-10
32
问题
阅读以下说明,Java代码将应填入(n)处的字句写在对应栏内。
【说明】
链表和栈对象的共同特征是:在数据上执行的操作与在每个对象中实体存储的基本类型无关。例如,一个栈存储实体后,只要保证最后存储的项最先用,最先存储的项最后用,则栈的操作可以从链表的操作中派生得到。程序6-1实现了链表的操作,程序6-2实现了栈操作。
import java.io.*;
class Node //定义结点
{ private String m_content;
private Node m_next;
Node(String str)
{ m_content=str;
m_next=null; }
Node(String str,Node next)
{ m_content=str;
m_next=next; }
String getData() //获取结点数据域
{ return m_content;}
void setNext(Node next] //设置下一个结点值
{ m_next=next; }
Node getNext() //返回下一个结点
{ return m_next; )
}
【程序6-1】
class List
{ Node Head;
List()
{ Head=null; }
void insert(String str) //将数据str的结点插入在整个链表前面
{ if(Head==null)
Head=new Node(str);
else
(1)
}
void append(String str) //将数据str的结点插入在整个链表尾部
{ Node tempnode=Head;
it(tempnode==null)
Heed=new Node(str);
else
{ white(tempnode.getNext()!=null)
(2)
(3) }
}
String get() //移出链表第一个结点,并返回该结点的数据域
{ Srting temp=new String();
if(Head==null)
{ System.out.println("Errow! from empty list!")
System.exit(0); }
else
{ temp=Head.getData();
(4) }
return temp;
}
}
【程序6-2】
class Stack extends List
{ void push(String str) //进栈
{ (5) }
String pop() //出栈
{ return get();}
}
选项
答案
(1)Head=new Node(str,Head); (2)tempnode=tempnode.getNext(); (3)tempnode.setNext(new Node(str,tempnode.getNext())); (4)Head=Head.getNext(); (5)insert(str);
解析
本题考查链表和栈的基本特征在Java中的实现。
在对链表进行表头插入时,首先要判断该链表是否为空,如果为空,直接插入结点;如果非空,在插入结点时把该结点的指针域改成能指向下一个结点的地址。在队尾插入时,同样要判断该链表是否为空,如果为空,直接插入结点;如果非空,在插入结点时把上一个结点的指针域改成能指向该结点的地址。
下面来具体分析代码,首先定义了一个结点类,类中有两个不同的构造函数和三个函数,分别用于获取结点数据域,设置下一个结点值和返回下一个结点值。第(1)空是函数insert()里面的代码,函数要实现的功能是将数据str的结点插入在整个链表前面。结合整个函数看,此空处要实现的功能是在非空链表的前面插入结点,需要指针域来存放下一个结点的地址,而下一个结点的地址就是Head,因此,此处应该填Head=new Node(str,Head)。
第(2)空和第(3)空一起考虑,它们都是函数append()里面的内容。函数要实现的功能是将数据str的结点插入在整个链表尾部。这两空要实现的功能是在非空链表的尾部插入结点。这需要调用返回下一个结点值函数和设置下一个结点值函数,因此,第 (2)空和第(3)空的答案分别为tempnode=tempnode.getNext()和tempnode.setNext(new Node(str,tempnode.getNext()))。
第(4)空是函数get()里面的内容,此函数的功能是移出链表第一个结点,并返回该结点的数据域,从整个函数来看,此空处的功能是让链表的地址Head指向下一个结点。因此,答案为Head=Head.getNext()。
第(5)空就比较简单了,要实现的功能就是让数据进栈,而进栈操作是在栈顶进行插入的,因此,只要调用函数insert()即可,其参数是str,此空答案为insert(str)。
转载请注明原文地址:https://jikaoti.com/ti/kbW7FFFM
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
下列选项中,属于网络操作系统的是(37)。
为防止重大灾难毁灭重要数据,大型数据中心应实行(67)制度。
在Excel2007中,在单元格A1中输入函数“=POWER(2,3)/MAX(1,2,4)”,按回车键后,则A1单元格中的值为__________。
某互联网公司建立的用户画像(标签化的用户信息)包括人口属性和行为特征两大类,()属于行为特征。
在Word2007编辑过程中,为防止突然断电或电脑死机等突发情况,最大程度减少损失,下列做法较好的是__________。
在Word中,为将正在编辑的文档以新的文件名保存,可使用______命令。
在Excel的A2单元格中输入:“=1=2”,则显示的结果是______。
操作系统的功能不包括______。
综合布线系统由6个子系统组成,将图1-1中(1)~(6)处空缺子系统的名称填写在答题纸对应的解答栏内。为满足公司要求,通常选用什么类型的信息插座?
资源记录文件位于/var/named目录下。这个目录是在以上的(1)文件中定义的。从备选选项中选择(6)~(10)处的解答。在问题4的named.abc.net文件中,出现了5种类型的记录。其中SOA是(6),NS是(7),MX是(8),A是
随机试题
甲承租乙的房屋后,伪造身份证与房产证交与中介公司。中介公司不知有假,为其售房给不知情的丙,甲获款300万元。关于本案,下列哪一选项是错误的?(2010年试卷二第19题)
依2012年最高人民法院《关于适用(中华人民共和国涉外民事关系法律适用法)若干问题的解释(一)》,下列哪些选项应当认定为涉外民事关系?()
进行区域火灾风险评估时,在明确火灾风险评估目的和内容的基础上,应进行信息采集,重点收集与区域安全相关的信息。下列信息中,不属于区域火灾风险评估时应重点采集的信息是()。
()与一汽集团建立了长期战略合作伙伴关系,是我国银行业汽车贷款业务的萌芽,其后也成为中国人民银行批复开办汽车贷款业务的第一家商业银行。
在造船业不景气的情况下,某造船厂除仍承接远洋石油运输船的生产业务外,开始承接建筑工程和石油勘探设备的钢结构加工业务,这一做法表明该造船厂实施的是()战略。
“________”是新闻写作的大忌,是必须予以职业道德方面的谴责和反对的。真实才是社会对正派的媒体的起码要求。但是,其对于文学创作体裁,却不应被视为一个________的词,它的冲动是产生想象力的初级思维活动,高层面的想象力的展开必须以其为基础。依次填入
率先发表文章提出“收回教育权”口号的是()
关于法的起源的表述,下列说法中不正确的是()
A、Four.B、Fourteen.C、Five.D、Nine.D此题难度稍大。题目中询问的是“这位先生在以后的假期里还要游历多少个国家?”要回答这一问题,首先必须知道其计划游历的国家总数,根据原文“Fourteencountriesinfo
A、Thecuriosityaboutblogcommunication.B、Thedesiretoreleaseherobsessionwithfashion.C、Thelustforfameandacquaintan
最新回复
(
0
)