牛客(9.18)-链表专项练习

本文是关于链表的专项练习解析,涵盖了存储密度计算、单链表操作、字符串子串、程序执行结果、C程序理解、双向循环链表插入、单链表删除、数值计算、Java多线程实现、equals和hashCode、构造方法调用、构造函数知识、垃圾回收算法以及C语言知识点等题目,详细解答了每道题目的关键点。
摘要由CSDN通过智能技术生成

第一题:设有n个元素的集合,采用带头结点有序链表来实现,设集合的元素占8个字节,链接指针占2个字节,该集合的存储密度为(C)

A、0.8
B、n/(n+1)
C、0.8n/(n+1)
D、0.8(n+1)/n

答案解析:题目要求计算集合的存储密度首先需要知道什么是存储密度:存储密度 = (结点数据本身所占的存储量)/(结点结构所占的存储总量)由题目可知:元素占8n字节,指针占2n字节,头结点不存元素,一共10字节,所以有8n/(8n+2n+10)=0.8n/(n+1)

第二题:在一个长度为 n ( n>1 )的单链表上,设有头和尾两个指针,执行 操作与链表的长度有关。(B

A、删除单链表中的第一个元素
B、删除单链表中的最后一个元素
C、在单链表第一个元素前插入一个新元素
D、在单链表最后一个元素后插入一个新元素

答案解析:因为在单链表中删除元素时需要从头进行遍历,直至找到修后一个元素的前一个元素,将此元素的指针域清空,则最后一个元素被删除,这时删除最后一个元素就与长度有关系

第三题:若串 =’software’ ,其子串数目为:(B

A、8  B、37   C、36    D、9

答案解析:自己在做题时是一个一个数的,还是做错了,选择了36。少的那个是空串,因为空串是每个字符串的字串,如果使用公式的话就是:s=(1+n)*n/2+1,计算出来是算有空串的。

第四题:下面程序的运行结果:(B)

public static void main(String args[]) {
        Thread t=new Thread(){
        public void  run(){
            dianping();
             
        }
    };
    t.run();
    System.out.print("dazhong&#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值