更多“下面是通过for语句对一组含有若干属性的对象实例进行遍历,其中A代表:() A.判定条件B.要被遍历的对象C.循环变量名称D.循环遍历变量类型”相关问题
  • 第1题:

    下面是对二叉树的叙述,其中错误的是 ( )

    A.二叉树的遍历是指不重复地访问二叉树中的所有结点

    B.二叉树的遍历允许重复地访问二叉树中的个别结点

    C.在遍历二叉树的过程中,一般先遍历左子树,然后再遍历右子树

    D.在先左后右的原则下,根据访问根结点的次序,二叉树的遍历可以分为三种:前序遍历、中序遍历、后序遍历


    正确答案:B
    A和B矛盾,显然只能从二者之中选择。如果允许熏复,就无惟一性。所以二叉树的遍历是指不重复地访问二叉树中的所有结点。

  • 第2题:

    对一棵二叉树的先序遍历、后序遍历和中序遍历所产生的序列中,所有叶结点的先后顺序是 ( ) 。

    A.各不相同

    B.先序遍历与后序遍历相同

    C.完全相同

    D.后序遍历与中序遍历相同


    正确答案:C
    解析:在二叉树的先序遍历、后序遍历和中序遍历中,对叶子结点的访问顺序都是左叶子在右叶子前面,因此叶子结点的先后顺序始终一样。

  • 第3题:

    阅读以下关于某订单管理系统的技术说明、部分UML类图及Java程序,将Java程序中(1)~(5)空缺处的语句填写完整。

    [说明]

    某订单管理系统的部分UML类图如图5-16所示。

    在图5-16中,Product表示产品,ProductList表示所销售产品的列表,Order表示产品订单,Orderltem表示产品订单中的一个条目,OrderList表示订单列表,SalesSystem提供订单管理系统的操作接口。各个类的部分属性和方法说明如表5-23所示。

    可以使用类java.util.ArrayList<E>来实现对象的聚集关系,如图5-16中OrderList与Order之间的聚集关系。

    for-each循环提供了一种遍历对象集合的简单方法。在for-each循环中,可以指定需要遍历的对象集合及用来接收集合中每个元素的变量,其语法如下:

    for(用来接收集合中元素的变量:需要遍历的对象集合)

    如果要使用for-each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.Iterable<T>。

    Java程序7-1和Java程序7-2分别给出了类OrderList和方法statistic的Java代码。


    正确答案:这是一道要求读者掌握Java语言中的java.util.ArrayListE>和for…each循环的程序分析题。本题的解答思路如下。 仔细阅读Java程序7-1——类OrderList的Java代码可知类OrderList中具有一个类型为 ArrayListOrder>的属性。结合图5-16订单管理系统的部分UML类图可知类OrderList和Order之间具有聚集关系。由试题给出的关键信息“可以使用类java.util.ArrayListE>来实现对象的聚集关系”、“如果要使用for…each循环来遍历对象集合那么包含该对象集合的类必须实现接口java.util.IterableT>”可以推理出(1)空缺处所填写的内容是“implements IterableOrder>”。 在定义了ArrayListE>的类中必须实现接口IteratorOrder>中的方法iteratorOrder>∷iterator()因此(2)空缺处所填写的实现体应为:return this.orders.iterator()或return orders.iterator()。 仔细阅读Java程序7-2——方法statistic的Java代码可以初步判断要填写(3)~(5)空缺处首先要将方法statistic的功能及实现流程分析清楚。而且(3)~(5)空缺处所填写的内容与for…each循环的使用有关;使用for…each循环时关键是要确定所遍历的是哪一个对象集合。在类SalesSystem中已经具有两个对象集合即属性catalog和sales。 方法statistic的功能是依次统计产品目录中每个产品的订购总量并打印出每个产品的编号、说明、订购总量和订购金额。若要统计产品目录中每个产品的订购总量需要对3个对象集合进行遍历;产品目录(ProductList)、订单列表(OrderList)及Order(需要对订单中的所有订单项进行查询统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程是:①从产品目录中取出一个产品→②在订单目录依次查询每张订单→③逐一查询某个订单中的所有订单项。 ①从产品目录中取出一个产品这对应第1条for…each语句此时被遍历的对象集合为ProductList。根据试题给出的for…each循环的语法——“for(用来接收集合中元素的变量:需要遍历的对象集合)”和(3)空歌处前半句的“Productproduct:”可以推断出(3)空缺处应填写ProductList类的对象而类SalesSystem中的catalog就是ProductList的实例。并且结合图5-16的UML类图可知类ProductList和Product之间具有聚集关系。依照Java的程序设计规范引用类的属性时应使用“this.”属性名的形式。因此(3)空缺处的答案为this.catalog(或catalog)。 ②在订单目录依次查询每张订单其对应于第2条for…each语句。根据第(3)空缺处的解题思路可以确定出(4)空缺处应填写OrderList类的对象即类SalesSystem的属性sales。因此(4)空缺处的答案为this.sales(或sales)。 ③逐一查询某个订单中的所有订单项其对应于第3条for…each语句。由图5-16类图上可以看出与类Order具有聚集关系的类是OrderItem。由此可以确定(5)空缺处应填写类OrderItem的对象。由于类SalesSystem中没有这种类型的属性因此需要在这里定义一个临时对象。另外在if语句中出现了一个标识符item但是在上下文中并没有出现对它的定义。由此可以推断item的定义应该在(5)空缺处提供。因此(5)空缺处的答案为OrderItem item。
    这是一道要求读者掌握Java语言中的java.util.ArrayListE>和for…each循环的程序分析题。本题的解答思路如下。 仔细阅读Java程序7-1——类OrderList的Java代码可知,类OrderList中具有一个类型为 ArrayListOrder>的属性。结合图5-16订单管理系统的部分UML类图可知,类OrderList和Order之间具有聚集关系。由试题给出的关键信息“可以使用类java.util.ArrayListE>来实现对象的聚集关系”、“如果要使用for…each循环来遍历对象集合,那么包含该对象集合的类必须实现接口java.util.IterableT>”可以推理出,(1)空缺处所填写的内容是“implements IterableOrder>”。 在定义了ArrayListE>的类中,必须实现接口IteratorOrder>中的方法iteratorOrder>∷iterator(),因此(2)空缺处所填写的实现体应为:return this.orders.iterator(),或return orders.iterator()。 仔细阅读Java程序7-2——方法statistic的Java代码可以初步判断,要填写(3)~(5)空缺处,首先要将方法statistic的功能及实现流程分析清楚。而且(3)~(5)空缺处所填写的内容与for…each循环的使用有关;使用for…each循环时,关键是要确定所遍历的是哪一个对象集合。在类SalesSystem中已经具有两个对象集合,即属性catalog和sales。 方法statistic的功能是依次统计产品目录中每个产品的订购总量,并打印出每个产品的编号、说明、订购总量和订购金额。若要统计产品目录中每个产品的订购总量,需要对3个对象集合进行遍历;产品目录(ProductList)、订单列表(OrderList)及Order(需要对订单中的所有订单项进行查询,统计每个订单上所订购的产品的数量)。由此可以得出实现该方法的基本流程是:①从产品目录中取出一个产品→②在订单目录依次查询每张订单→③逐一查询某个订单中的所有订单项。 ①从产品目录中取出一个产品,这对应第1条for…each语句,此时被遍历的对象集合为ProductList。根据试题给出的for…each循环的语法——“for(用来接收集合中元素的变量:需要遍历的对象集合)”和(3)空歌处前半句的“Productproduct:”可以推断出,(3)空缺处应填写ProductList类的对象,而类SalesSystem中的catalog就是ProductList的实例。并且结合图5-16的UML类图可知,类ProductList和Product之间具有聚集关系。依照Java的程序设计规范,引用类的属性时,应使用“this.”属性名的形式。因此(3)空缺处的答案为this.catalog(或catalog)。 ②在订单目录依次查询每张订单,其对应于第2条for…each语句。根据第(3)空缺处的解题思路,可以确定出(4)空缺处应填写OrderList类的对象,即类SalesSystem的属性sales。因此(4)空缺处的答案为this.sales(或sales)。 ③逐一查询某个订单中的所有订单项,其对应于第3条for…each语句。由图5-16类图上可以看出,与类Order具有聚集关系的类是OrderItem。由此可以确定(5)空缺处应填写类OrderItem的对象。由于类SalesSystem中没有这种类型的属性,因此需要在这里定义一个临时对象。另外在if语句中出现了一个标识符item,但是在上下文中并没有出现对它的定义。由此可以推断item的定义应该在(5)空缺处提供。因此(5)空缺处的答案为OrderItem item。

  • 第4题:

    二叉树的查找有深度优先和广度优先二类,深度优先包括______。

    A.前序遍历、后序遍历、中序遍历

    B.前序遍历、后序遍历、层次遍历

    C.前序遍历、中序遍历、层次遍历

    D.中序遍历、后序遍历、层次遍历


    正确答案:A
    解析:二叉树的查找有深度优先和广度优先两种。深度优先包括:前序遍历、中序遍历和后序遍历。广度优先包括层次遍历。所以,本题正确答案为选项A。

  • 第5题:

    对搜索二叉树进行(26),得到的结点序列是升序序列。

    A.先序遍历

    B.中序遍历

    C.后序遍历

    D.层次遍历


    正确答案:B
    解析:中序遍历是先访问当前节点的左子树,在访问当前节点,最后防问右子树对搜索二叉树进行中序遍历,得到的结点序列是升序序列

  • 第6题:

    集合在遍历过程中,有时需要对符合一定条件的元素进行删除,下列哪些说法是正确的:

    A.在foreach循环里进行元素的remove操作

    B.使用Iterator方式,如果有并发,需要对Iterator对象加锁

    C.Iterator进行元素的删除操作,绝对是线程安全的

    D.Java无法实现在遍历时,进行删除元素操作


    正确答案:B

  • 第7题:

    如果S是由有序树T转换的二叉树,则T中的结点的后序遍历顺序是S结点的()。

    A.先序遍历
    B.中序遍历
    C.后序遍历
    D.层次遍历

    答案:B
    解析:
    树转换成二叉树的过程:将结点的最左边的孩子作为该节点的左孩子,下一个兄弟结点作为右孩子。所以树的后序遍历恰好对应于二叉树的中序遍历。

  • 第8题:

    下列哪些是图的遍历()。

    A.中根遍历
    B.广度优先搜索
    C.先根遍历
    D.深度优先搜索

    答案:B,D
    解析:
    图的遍历算法有深度优先遍历算法和广度优先遍历算法两种。

  • 第9题:

    关于foreach循环的特点,以下说法哪些是正确的?()

    • A、foreach循环在遍历集合时,无需获得容器的长度
    • B、foreach循环在遍历集合时,无需循环条件,也无需迭代语句
    • C、foreach循环在遍历集合时非常繁琐
    • D、foreach循环的语法格式为:for(容器中元素类型 临时变量 :容器变量)。

    正确答案:A,B,D

  • 第10题:

    以下关于循环结构的描述,错误的是()。

    • A、遍历循环使用for<循环变量>in<循环结构>语句,其中循环结构不能是文件
    • B、使用range()函数可以指定for循环的次数
    • C、for i in range(5)表示循环5次,i的值是从0到4
    • D、用字符串做循环结构的时候,循环的次数是字符串的长度

    正确答案:A

  • 第11题:

    单选题
    用于遍历对象集合所有元素的语句是()。
    A

    Dowhile…Loop

    B

    ForEach…Next

    C

    While…Wend

    D

    For…Next


    正确答案: A
    解析: 暂无解析

  • 第12题:

    判断题
    $().each既可以遍历JS原生的对象和数组,又能遍历DOM对象。()
    A

    B


    正确答案:
    解析: 暂无解析

  • 第13题:

    邻接表存储结构下图的深度优先遍历算法结构类似于二叉树的(38)。

    A.先序遍历

    B.中序遍历

    C.后序遍历

    D.按层遍历


    正确答案:A
    解析:图的深度优先遍历是从图中某个顶点v出发,访问此顶点,然后依次从v的未被访问的邻接点出发深度优先遍历图,直到图中所有和v有路径相通道顶点都被访问到;如果此时还有顶点没有被访问,则另选图中一个未访问道顶点作起始点,重复以上过程,直到图中所有顶点都被访问。

  • 第14题:

    首先访问结点的左子树,然后访问该结点,最后访问结点的右子树,这种遍历方式称为 ( )。

    A.前序遍历

    B.中序遍历

    C.后序遍历

    D.顺序遍历


    正确答案:B
    解析:前序遍历序列的顺序是先根、再左子树、最后右子树;中序遍历序列的顺序是先左子树、再根、最后右子树;后序遍历序列的顺序是先左子树、再右子树、最后根。

  • 第15题:

    对一棵排序二叉树进行( )时,可以得到有序序列。A.前序遍历B.中序遍历C.后序遍历D.层次遍历


    正确答案:B
    中序遍历首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然先遍历左子树,再访问根结点,最后遍历右子树。

  • 第16题:

    图的深度优先遍历类似于二叉树的_______。

    A.先序遍历

    B.中序遍历

    C.后序遍历

    D.层次遍历


    正确答案:A

  • 第17题:

    邻接表存储结构下图的深度优先遍历算法结构类似于于叉树的( )

    A.先序遍历

    B.中序遍历

    C.后序遍历

    D.按层遍历


    正确答案:A

  • 第18题:

    关于Map类型集合的遍历方式,下列哪些说法是正确的:

    A.Map类型的实现类都同时实现了Iterator接口

    B.使用foreach进行遍历

    C.推荐使用keySet进行遍历

    D.推荐使用entrySet进行遍历


    正确答案:D

  • 第19题:

    采用邻接表存储的图的广度优先遍历算法类似于树的()。

    A.中根遍历
    B.先根遍历
    C.后根遍历
    D.按层次遍历

    答案:D
    解析:
    图的广度优先遍历算法思想是,对于某个结点,首先遍历该结点,而后遍历其相邻的所有结点,而树的层次遍历中,对于某个结点,首先遍历该结点,然后遍历其所有的子结点。

  • 第20题:

    用于遍历对象集合所有元素的语句是()。

    • A、Dowhile…Loop
    • B、ForEach…Next
    • C、While…Wend
    • D、For…Next

    正确答案:B

  • 第21题:

    在C#语言中,可以用来遍历数组元素的循环语句是()。


    正确答案:foreach

  • 第22题:

    $().each既可以遍历JS原生的对象和数组,又能遍历DOM对象。()


    正确答案:错误

  • 第23题:

    填空题
    在C#语言中,可以用来遍历数组元素的循环语句是()。

    正确答案: foreach
    解析: 暂无解析