本文目录
链表不具备的特点是
链表不具备的特点是可随机访问任何一个元素。链表不具备的特点是“随机访问”,也称为“随机存取”。在链表中,每个节点只包含指向下一个节点的指针,因此要访问某个节点,必须从头节点开始顺序遍历整个链表,直到找到目标节点为止。
链表不具有的特点是( )
【答案】:B链表采用的是链式存储结构,它的结点!间可以动态申请和释放;它的数据元素的逻辑次序靠结 的指针来指示,插入删除不需要移动数据元素。但是链;存储结构也有不足之处:每个结点中的指针域需额外占用存储空间,它是一种随机存储结构。
链表不具有的特点是__________
选1)可随机访问任一元素,这是顺序表的特点。
简介:
链表(Linked list)是一种常见的基础数据结构,是一种线性表,但是并不会按线性的链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。
拓展资料:
链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。在计算机科学中,链表作为一种基础数数据结构可以用来生成其它类型的数据结构。
链表通常由一连串节点组成,每个节点包含任意的实例数据(data fields)和一或两个用来指向上一个/或下一个节点的位置的链接("links")。链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。而链表是一种自我指示数据类型,因为它包含指向另一个相同类型的数据的指针(链接)。
计算机等级二级C语言模拟试题1(十)
一、选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。 (1)算法能正确地实现预定功能的特性称为算法的__________。 A)确定性 B)易读性 C)健壮性 D)高效性 答案:A 评析:算法的确定性是指算法中的每一个步骤都必须是有明确定义的,不允许有摸棱两可的解释,也不允许有多义性,即每个步骤都是预先定义好的。 (2)数据在计算机存储器内表示时,物理地址与逻辑地址相同并且是连续的,称之为__________。 A)存储结构 B)逻辑结构 C)顺序存储结构 D)链式存储结构 答案:C 评析:如果数据之间在逻辑上有相邻关系时,能够在物理位置上体现出来,则这种存储结构称为顺序存储结构。如果数据之间的逻辑相邻关系在存储时是靠存储地址的指针来体现的,则称为链式存储结构。 (3)从未排序序列中依次取出一个元素与已排序序列中的元素依次进行比较,然后将其放 在已排序序列的合适位置,该排序方法称为__________。 A)希尔排序 B)冒泡排序 C)插入排序 D)选择排序 答案:C 评析:最基本的排序方法有三大类,即选择排序、交换排序和插入排序。 (4)对线性表进行折半查找时,要求线性表必须__________。 A)以顺序方式存储 B)以链接方式存储 C)以顺序方式存储,且结点按关键字有序排列 D)以链接方式存储,且结点按关键字有序排列 答案:C 评析:折半查找算法要求被查找的对象必须采用顺序的存储结构,并且关键字有序排列。 (5)链表不具备的特点是__________。 A)可随机访问任意一个结点 B)插入和删除不需要移动任何元素 C)不必事先估计存储空间 D)所需空间与其长度成正比 答案:A 评析:顺序表可以随机访问任意一个结点,而链表必须从第一个数据结点出发,逐一查找每个结点。 (6)下列描述中正确的是__________。 A)软件是物理产品 B)程序就是软件 C)软件工程由方法、工具和过程三部分组成 D)软件工程是一个机械工程 答案:B 评析:软件是与计算机系统操作有关的程序、规程、规则及任何与之有关的文档和数据。计算机软件是一种逻辑产品,而不是物理产品。软件工程是用工程、科学和数学的原则与方法研制、维护计算机软件的有关技术及管理方法。软件工具可以自动或半自动的生成软件文档。软件工程过程是管理者控制软件开发各环节的基本方法。 (7)软件测试是保证软件质量最关键的步骤,下列关于白盒测试技术描述中不正确的是_______。 A)保证模块中每一独立的路径至少执行一次 B)保证所有判断的每一分支至少执行一次 C)保证每一循环都在边界条件和一般条件下最多执行一次 D)验证所有内部数据结构的有效性 答案:C 评析:软件测试技术中,白盒测试技术和黑盒测试技术是两种基本的软件测试手段。白盒测试技术有四个原则:保证模块中每一个独立的路径至少执行一次;保证所有判断的每一分支至少执行一次;保证每一循环都在边界条件和一般条件下至少执行一次;验证所有内部数据结构的有效性。 (8)客观世界中任何一个事物都可以看成一个对象。但是从计算机的角度看,一个对象应 该包含两个要素:一个是_______,另一个是需要进行的操作。 A)语句 B)命令 C)算法 D)数据 答案:D 评析:在面向对象的程序 设计 中,从计算机的角度看,一个对象应该包含两个元素:数据,相当于家庭中的成员;操作,相当于家庭成员的活动。对象就是一个包含数据与这些数据有关的操作的集合。 (9)下列概念中,不是数据库管理系统必须提供的数据控制功能的是_______。 A)安全性 B)完整性 C)移植性 D)一致性 答案:C 评析:数据库管理系统提供的数据控制功能是指在数据库建立、运行和维护时,由DBMS统一管理、统一控制,以保证数据的安全性、完整性和一致性。 (10)设关系R和关系S的元数分别是3和4,关系T是R和S的笛卡儿积,即T=R×S,则关系T的元数是_______。 A)7 B)9 C)12 D)16 答案:A 评析:笛卡儿积的定义是设关系R和s的元数分别是r和s,R和s的笛卡儿积是一个(r十s)元属性的集合,每一个元组的mr个分量来自R的一个元组,、后s爪分量来自s的一个元组。所以关系T的属性元数是3+4=7。 (11)以下叙述中正确的是_______。 A)C语言中的全部数据类型都是基本类型 B)C语言中的全部数据类型都是构造类型 C)C语言中的数据类型只有两种,即基本类型和构造类型 D)以上都不对 答案:D 评析:c语言中的数据类型有四种,即基本类型、构造类型、指针类型和空类型。 (12)下列可作为C语言赋值语句的是_______。 A)x=3,y=5 B)a=b=6 C)i--; D)y=6 答案:C 评析:此题实际上是考查对c语言中"语句"概念的理解。表达式后面只有加上分号才能成为语句,因此,A),B),D)均是表达式,只有C)为语句。且利用自减运算符使i值减l。 (13)以下可以定义为用户标识符的是_______。 A)printf B)net C)3com D)int 答案:B 评析:c语言中的标识符分为两类。一类是系统标识符,即系统定义使用的关键字标识符等。另一类是用户自定义标识符。两类标识符都只能用字母、数字和下划线三种字符组成。且第一个字母必须为字母或下划线。并且用户自定义标识符不能使用系统关键字相同的标识符。 (14)以下选项中,不能作为合法常量的是_______。 A)0X2A B)015 C).2.8e9 D)123.6e0.4 答案:D 评析:c程序中的基本数据类型有整型、实型和字符型。其中整型常量三种形式,即八进制、十进制和十六进制。而实型常量有十进制小数和指数形式两种。 (15)有以下程序 main() { int a; char c=10: float f=-100.0;double x; clrscrO; a=f/=c*=(x=6.5); printf("%d,%c,%3.1C%3.1f\n",a,c,Cx); } 程序运行后的输出结果是_______。 A)1,65,1,6.5 B)1,A,1.5,6.5 C)1,65,1.5,6.5 D)2,65,1.5,6.5 答案:B 评析:在赋值语句a=f/=c*=(x=6.5);中,可得x=6.5,将x的值乘以10赋予c,为65,再将f=100的值除以65,并按照四舍五入的原则,重新赋给f’得到f=-I.5。最后将f的值赋给a,由于a是整型,所以得到a=l。 (16)以下语句序列中错误的是_______。 A)int x=l; B)int x=0; C)int x=2.3; D)int x=l,y=l; x++; (x+1)++; (x++)+1; (x++)+(y一); 答案:B 评析:c语言中的自加、自减运算只能用于变量,而不能用于常量或表达式。 (17)有定义语句:im.a;char b,c;则错误的输入语句是__________。 A)scanf("%d%s%c",&a,D,&C); B)scanf("%d%s%c",&a,&b,&C); C)scanf("%d%s%d",&a;b,&C); D)scanf("%d%s"&c,a,%,&C); 答案:D 评析:在scanf()语句中,在给整型变量和字符型赋值时,必须要在变量名前加取地址符号(&),而对字符型数组赋值时,可以不在变量名前不加取地址符号,也可以加取地址符号。而且对于字符型变量既可以赋给整型值,也可以赋给字符型值。 (18)有定义语句:int x,y;,若要通过scan即x=%d,y=%n&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的是________。 A)1l 12回车》 B)ll,12回车》 C)x=l l,y=12回车》 D)x=ll,回车》12,回车》 答案:C 评析:在scanf()语句中,对于变量的赋值必须与数据的输入格式相一致。特别是一些字符说明。 (19)设有如下程序段: int x=6, y=4; printf("%d\n",(x%y,x&&y)); 则以下叙述中正确的是__________。 A)输出语句中格式说明符的个数少于输出项的个数,不能正确输出 B)运行时产生出错信息 C)输出值为2 D)输出值为l 答案:D 评析:在逗号表达式(表达式1,表达式2)中,其运算方法是先求表达式1的值,然后求表达2的值,整个逗号表达式的值是表达式2的值。 (20)有以下程序 main() { int i=1.j=2,k=3; clrscr(); if(i++==j&&k--==j) printf("%d,%d,%d",i++’j,k); else printf("%d,%d,%d",++i,++j,k--); } 程序运行后的输出结果是_________。 A)l,2,3 B)2,2,3 C)2,3,2 D)3,3,3 答案:D 评析:按照运算符的优先级,最先计算的是关系运算i++==j,由于此关系式不成立,,它的结果是为"假"值,由此可以确定逻辑与运算的结果必然是"假"值,因此参加逻辑与运算的另一个关系表达式"k--==j"的值,系统不再对它进行运算。此时变量i的值自加1变成2,然后执行else语句后的printf语句。 (21)有定义语句:int a=l,b=l,c=3,x;,则以下选项中各程序段执行后,x的值不等于3是__________。 A)if(c《a)x=l; 《br="" b)if(a《3&&b else if(b《a‖b《c)x=3; else 《br="" if(a C)if(a%b》a) x=3; D)if(a《b+c)x:b; if(a《2)x=2; if(b&&a《c)x=c= if(a《1)z=l; if(c《a)x=a; 答案:C 评析:在各种运算符中,运算级别的是算术运算,如果有括号,当然先算括号内的表达式的值。 《/a‖b (22)有以下程序,其输出结果是____________。 main() { float x=l; int y; X++: y=x+l; printf("x=%d,y=%f",x, y); } A)x=2,y=3 B)x=2,y=3.0 C)x=2.0,y=3 D)x=0.y=O.000000 答案:D 评析:一般在对变量定义为何种类型的数据时,对输出应有完全一致的数据类型格式。但整型与实型数据在进行混合运算时,一般其数据类型可以自动转换。如本题的y=x+l;语句中,系统自动将实型表达式x+l的结果转换为整数赋给整型变量y,但整型变量y只能得到实型数的整数部分。 (23)有以下程序 main() { int a={5,6,7,8,9,10},s=0,I=0; clrserO; do { if(a%2 I-0) s+=a; }while(++i《5); primf("%d\n",s); } 程序运行后的输出结果是_________。 A)21 B)22 C)23 D)24 答案:A 评析:引用数组中的某个元素时,可以直接使用数组名加下标的形式。如p,就是数组中下标为1的元素,按顺序数,是第2个元素,因为数组的下标是从0开始的。本题实际上是求数组中所有奇数元素的和。 (24)若有如下程序段, main() { char a="123\010\032"; int i,j=0; clrscr0; for (I=0;i《strlen(a);i++) j+=sizeof(a); printf("%d,%d\n",I,J); } 程序运行后的输出结果是_________。 A)5,30 B)5,35 C)5,25 D)5,20 答案:B 评析:数组的存储空间是在其定义后就分配的。字符数组a="123\010\032"中,有两个转义字符,因此字符串的长度实际上是5个字符。所以strlen(a)=5。在程序的for循环中,其循环的次数是5次,j每次加7,所以最后的结果是35。i的值就是循环的次数。 (25)如果在c程序中要用到库函数中的字符串比较函数strcmp(),那么在程序前面应该 添加的头文件是__________。 A)stdio.h B)string.h C)alloc.h D)math.H 答案:B 评析:库函数并不是c语言的一部分,它是由人们根据需要编制并提供用户使用的。在调用不同类别的库函数时,必须在程序前添加相应的头文件。 (26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是_________。 A)函数调用可以嵌套和递归 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参 答案:D 评析:函数的调用有三种方式。一是将函数调用作为一个语句。二是函数出现在_个表达式中。三是作为一个函数的实参。但是没有函数调用作为形参。而且函数在调用时还有嵌套和递归两种特殊的情形。 (27)下列关于c语言中字符常量与字符串常量的叙述中,错误的是_________。 A)字符常量是用单撇号括起来的一个字符 B)空格字符也可用作字符常量 C)字符串常量是用单撇号括起来的一个字符序列 D)字符串常量是用双撇号括起来的一个字符序列 答案:C 评析:c语言中的字符型数据常量有两类,一类是用单撇号括起来的字符常量。字符常量除了常用的字符外,还包括特殊的空格符和以"\"开头的转义字符。字符串常量则是用双撇号括起来的一个字符序列。
关于数据结构的题 1、链表不具有的特点是( )
1A,链表通过当前节点寻找后继结点,不能随机访问。2D,带头结点的循环链表可以很快找到尾节点,所以速度可以是非常快的。双循环与单循环只要带头结点在这个问题上基本等效。3D,为了快速读取到i元素,所以采用顺序表是最快的。
链表不具有的特点是( )
链表不具备的特点是可随机访问任何一个元素。
链表是线性表的链式存储,使用结点来存储数据元素。线性表采用链表作为存储结构时,不能进行数据元素的随机访问,其优点是插入和删除操作不需要移动元素。其中链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。由于不必须按顺序存储,链表在插入的时候可以达到O(1)的复杂度,比另一种线性表顺序表快得多,但是查找一个节点或者访问特定编号的节点则需要O(n)的时间,而线性表和顺序表相应的时间复杂度分别是O(logn)和O(1)。
链表简介
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。
使用链表结构可以克服数组链表需要预先知道数据大小的缺点,链表结构可以充分利用计算机内存空间,实现灵活的内存动态管理。但是链表失去了数组随机读取的优点,同时链表由于增加了结点的指针域,空间开销比较大。
链表最明显的好处就是,常规数组排列关联项目的方式可能不同于这些数据项目在记忆体或磁盘上顺序,数据的存取往往要在不同的排列顺序中转换。链表允许插入和移除表上任意位置上的节点,但是不允许随机存取。
链表有很多种不同的类型:单向链表,双向链表以及循环链表。链表可以在多种编程语言中实现。像Lisp和Scheme这样的语言的内建数据类型中就包含了链表的存取和操作。程序语言或面向对象语言,如C,C++和Java依靠易变工具来生成链表。