欢迎来到个人简历网!永久域名:gerenjianli.cn (个人简历全拼+cn)
当前位置:首页 > 教学文档 > 试题>笔试题链表反向

笔试题链表反向

2022-10-15 08:42:41 收藏本文 下载本文

“翔谭从不迟到”通过精心收集,向本站投稿了12篇笔试题链表反向,以下是小编整理后的笔试题链表反向,仅供参考,希望能够帮助到大家。

笔试题链表反向

篇1:笔试题链表反向

笔试题(链表反向)

1.设计一个重采样系统,说明如何anti-alias,

2.y1(n)=x(2n),y2(n)=x(n/2),问:

如果y1为周期函数,那么x是否为周期函数?

如果x为周期函数,那么y1是否为周期函数?

如果y2为周期函数,那么x是否为周期函数?

如果x为周期函数,那么y2是否为周期函数?

3.如果模拟信号的带宽为5kHz,要用8k的采样率,怎么办。

4.某个程序在一个嵌入式系统(200M的`CPU,50M的SDRAM)中已经最优化了,换到另一个系统(300M的CPU,50M的SDRAM)中运行,还需要优化吗?

5.x^4+a*x^3+x^2+c*x+d最少需要做几次乘法。

6.三个float:a,b,c

问值:

(a+b)+c==(b+a)+c

(a+b)+c==(a+c)+b

7.把一个链表反向填空。

8.下面哪种排序法对12354最快?

A. quick sor

B. buble sort

C. merge sort

9.哪种结构平均来讲获取一个值最快?

A. binary tree

B. hash table

C. stack

10.#include“stdafx.h”

#include struct bit

{ int a:3;

int b:2;

int c:3;

};

int main(int argc, char* argv[])

{

bit s;

char *c = (char*)&s;

*c = 0x99;

cout <<

s.a <<<<<

return 0;

}

Output:?

篇2:笔试题链表

笔试题(链表)

1. 频繁的插入删除操作使用什么结构比较合适,链表还是数组?

答案:链表

2. *p=NULL *p=new char[100] sizeof(p)各为多少?

答案:都为4,因为都是指针类型,所占存储空间必然为4。

3. 顺序查找的平均时间

答案:(1+2+3+…+n)/n = (n+1)/2

4. for(i=0,sum=0; i<10; ++i,sum+=i);的运行结果

答案:sum = 55

5. 不能做switch的参数类型是:

答案:switch的参数不能为浮点型,

6.不使用其他变量,交换两个整型a,b的'值

答案:x = x+y; y = x-y; x = x-y

7. 写出float x 与“零值”比较的if语句。

if(x>=0.000001 && x<=-0.000001)(x不为0的比较)

float: 6位精度

double: 16位精度

8.两个数相乘,小数点后位数没有限制,请写一个高精度算法

篇3:笔试题单向链表

笔试题(单向链表)

单向链表的`反转是一个经常被问到的一个面试题,也是一个非常基础的问题,比如一个链表是这样的:

1->2->3->4->5

通过反转后成为5->4->3->2->1。

最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然

后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:

struct linka {

int data;

linka* next;

};

void reverse(linka*& head) {

if(head ==NULL)

return;

linka *pre, *cur, *ne;

pre=head;

cur=head->next;

while(cur)

{

ne = cur->next;

cur->next = pre;

pre = cur;

cur = ne;

}

head->next = NULL;

head = pre;

}

篇4:链表操作函数笔试题

链表节点定义如下

struct ListNode

{

long id;

struct ListNode* next;

}

写一个返回下一个节点的函数,没有的话返回0

struct ListNode* ListNext(struct ListNode* cur);

写一个在已经排序好的.链表中插入一个节点的函数,返回插入位置的前一个节点

如果节点已经在链表里边返回0

struct ListNode* ListInsert(struct ListNode* head,struct ListNode* newNode);

写一个删除节点的函数,返回删除后的前一个节点,如果节点不在链表里边返回0

struct ListNode* ListRemove(struct ListNode* head,struct ListNode* theNode);

篇5:C++笔试题:链表和指针

C++笔试题:关于链表和指针

给你一个单链表和一个指向特定节点的指针,如何在一个特定时间删除这个节点?

删除节点我们需要两个东西,一个是要删除节点的前一个节点的`地址和它的后一个节点,这个面试题情况下我们只知道当前节点的地址

假设这个节点如下:

Data = the Data

Next = Pointer to the next node

再假设这个链表如下所示我们只知道当前的节点地址

PREIOUS NODE -> CURRENT NODE -> NEXT NODE

// 拷贝当前节点的下一个节点的内容到当前节点

nextnode = currentnode -> next

currentnode -> data = nextnode ->data

currentnode -> next = nextnode ->next

注意:如果当前节点是链表的最后一个元素的话,这个方法不适用

篇6:笔试题单向链表的反转

笔试题(单向链表的反转)

单向链表的反转是一个经常被问到的一个面试题,也是一个非常基础的问题,比如一个链表是这样的: 1->2->3->4->5 通过反转后成为5->4->3->2->1。

最容易想到的方法遍历一遍链表,利用一个辅助指针,存储遍历过程中当前指针指向的下一个元素,然后将当前节点元素的指针反转后,利用已经存储的指针往后面继续遍历。源代码如下:

1. struct linka {

2. int data;

3. linka* next;

4. };

5. void reverse(linka*& head) {

6. if(head ==NULL)

7.                   return;

8. linka *pre, *cur, *ne;

9. pre=head;

10. cur=head->next;

11. while(cur)

12. {

13.    ne = cur->next;

14.    cur->next = pre;

15.    pre = cur;

16.    cur = ne;

17. }

18. head->next = NULL;

19. head = pre;

20. }

还有一种利用递归的方法,

《笔试题(单向链表的`反转)》()。这种方法的基本思想是在反转当前节点之前先调用递归函数反转后续节点。源代码如下。不过这个方法有一个缺点,就是在反转后的最后一个结点会形成一个环,所以必须将函数的返回的节点的next域置为NULL。因为要改变head指针,所以我用了引用。算法的源代码如下:

1. linka* reverse(linka* p,linka*& head)

2. {

3. if(p == NULL || p->next == NULL)

4. {

5.    head=p;

6.    return p;

7. }

8. else

9. {

10.    linka* tmp = reverse(p->next,head);

11.    tmp->next = p;

12.    return p;

13. }

14. }

篇7:经典笔试题

一.最基本题型(说明:此类题型比较简单)

1.烧一根不均匀的绳,从头烧到尾总共需要1个小时。现在有若干条材质相同的绳子,问如何用烧绳的方法来计时一个小时十五分钟呢?

2.你有一桶果冻,其中有黄色、绿色、红色三种

3.如果你有无穷多的水,一个3公升的提捅,一个5公升的提捅,两只提捅形状上下都不均匀,问你如何才能准确称出4公升的水?(40秒-3分钟)

4.一个岔路口分别通向诚实国和说谎国。来了两个人,已知一个是诚实国的,另一个是说谎国的。诚实国永远说实话,说谎国永远说谎话。现在你要去说谎国,但不知道应该走哪条路,需要问这两个人。请问应该怎么问?(20秒-2分钟)

5.12个球一个天平,现知道只有一个和其它的重量不同,问怎样称才能用三次就找到那个球。13个呢?(注意此题并未说明那个球的重量是轻是重,所以需要仔细考虑)(5分钟-1小时)

6.在9个点上画10条直线,要求每条直线上至少有三个点?(3分钟-20分钟)

7.在一天的24小时之中,时钟的时针、分针和秒针完全重合在一起的时候有几次?都分别是什么时间?你怎样算出来的?

二.没有答案型(说明:这些题显然不是考你智力。而考的是你的反应能力。这种题大多数没有答案,但是要看你的反应喽!)

1.为什么下水道的盖子是圆的 ?

2.中国有多少辆汽车?

3.将汽车钥匙插入车门,向哪个方向旋转就可以打开车锁?7

4.如果你能够将全世界的电脑厂商集合在一个办公室里,然后告诉他们将被强迫做一件事,那件事将是什么?

5.多少个加油站才能满足中国的所有汽车?.

6.想象你站在镜子前,请问,为什么镜子中的影象可以颠倒左右,却不能颠倒上下?

7.为什么在任何旅馆里,你打开热水,热水都会瞬间倾泻而出?

8.你怎样将Excel的用法解释给你的奶奶听?

9.你怎样重新改进和设计一个ATM银行自动取款机?

10.如果你不得不重新学习一种新的计算机语言,你打算怎样着手来开始?

11.如果你的生涯规划中打算在5年内受到奖励,那获取该项奖励的动机是什么?观众是谁?

12.如果微软告诉你,我们打算投资五百万美元来启动你的投资计划,你将开始什么样商业计划?为什么?

面试指南:面试遇到智力测试题如何回答?

(1)排除法

把一些无关的问题先予以排除,可以确定的问题先确定,尽可能缩小未知的范围,以便于问题的分析和解决。这种思维方式在我们的工作和生活中都是很有用处的。

(2)递推法

由已知条件层层向下分析,要确保每一步都能准确无误。可能会有几个分支,应本着先易后难的原则,先从简单的一支入手。

(3)倒推法

从问题最后的结果开始,一步一步往前推,直到求出问题的答案。有些问题用此法解起来很简单,如用其他方法则很难。

(4)假设法

对给定的问题,先做一个或一些假设,然后根据已给的条件进行分析,如果出现与题目给的条件有矛盾的情况,说明假设错误,可再做另一个或另一些假设。如果结果只有两种可能,那么问题就已经解决了。在科学史上,“假设”曾起了极大的作用。

(5)计算法

有些问题必须经计算才能解决。要注意的是,智力测验中的问题往往含有隐含的条件,有时给出的数是无用的。

(6)分析法

这是最基本的方法。各种方法常常要用到分析法。可以说,分析能力的高低,是一个人的智力水平的体现。分析能力不仅是先天性的,在很大程度上取决于后天的训练,应养成对客观事物进行分析的良好习惯。

(7)作图法

根据问题中已知的条件,采用适当的方法画出图形,有助于问题的解决。有些问题,在没画图之前,会觉得无处下手,画了图后就一目了然了。

(8)综合法

事实上,许多问题都要运用几种不同的方法才能解决。所谓综合法,就是综合各种方法(包括前述各种方法以外的方法)去解决某些问题。

篇8:IT相关笔试题

IT相关笔试题分享:

1)与逆波兰表达式ab+cd+*对应的中缀表达式是:

1. a+b+c*d

2. (a+b)*c+d

3. (a+b)*(c+d)

4. a+b*c+d

2)下列对MD5的叙述不正确的是:

1. 是一种散列算法

2. 指纹(摘要)的长度为128位

3. 是一种对称加密算法

4. 可用来校验数据的完整性

3)HTTP 1.1协议中规定表示正常响应的状态代码是

1. 0

2. 100

3. 200

4. 400

4)在SOCKET通信过程中,下列哪些函数是客户端需要调用,但是服务端不需要调用的函数?

1. socket

2. bind()

3. connect()

4. send()

5)int listen(SOCKET s, int backlog);该函数中第二个参数的含义

1. 是否打开log信息

2. 是否打开后台log信息

3. 后台等待连接队列的最大限制值

4. 后台等待连接队列的最小限制值

5. 无意义

6)将网络地址映射为链路层相应地址的协议是

1. DNS

2. TCP

3. ARP

4. ICMP

篇9:笔试题参考

笔试题参考

1、求函数返回值,输入x=9999;

int func(x)

{

int countx = 0;

while(x)

{

countx ++;

x = x&(x-1);

}

return countx;

}

【试题解析】

解这道题的时候,如果拿出一个二进制数来分析就会容易的多了,x=x&(x-1)实际上就是把x的二进制形式的最后一个“1”变成“0”,x的二进制形式有多少个“1”循环就执行多少次,

9999/256 = 39 余 15,把这两个数分别转化一下就很快了

39 = 32 + 4 + 2  +1 = 00100111

15 = 0F = 00001111

所以 9999=0010011100001111,共有8个1,答案就是 8 了

2、实现以下程序,以方便binary search.

.要有处理错误语句

.队列的分配的大小是固定的MAX_LEN,由第二个参数输入

.不能复制队列

insert (int *arr,           //队列

size_l len,          // 队列大小

size_l count,        //队列元素的数目

int varl             //要处理的数据

)返回插入数据的索引

remove(int *arr,size_l len,size_l count,int varl)返回删除元素的.索引

search(int *arr,size_l len,size_l count,int varl)返回搜索道元素的索引

【试题解析】

略。数据结构书上都有的。

3、堆栈R,从顶到底:{2,4,6,8,10},逐个取出放入队列Q中 ,再从Q中逐个取出放入R中,问现在堆栈R中从顶到底的顺序,

【试题解析】

这个也不用了吧,{10,8,6,4,2}

4、写出程序的结果:___________

int funa(int *a)

{

a[0] ++;

}

int funb(int b[])

{

b[1] += 5;

}

main()

{

int a[5] = {2,3,4,5,6};

int b[5] = {2,3,4,5,6};

int *p;

p = &a[0];

(*p)++;

funa(p);

for(int i = 0; i<3; i++)

printf(“%d,”,a);

p = &b[1];

funb(p);

for(i = 0; i<3; i++)

printf(“%d,”,b);

}

【题目解析】

结果是:

4,3,4,2,3,9

(*p)++; 也就是a[0]++;

funa(p);中的 a[0]++ 是将 main 中的数组 a[0]++,

数组 a 中只有第一个元素加了两次 1 ,

p = &b[1];把p指向了数组 b 的第二个元素

funb(p);中的 b[1]+=5 是将 main 中的数组 b[2]+=5

数组 b 中的第三个元素加了 5

5、找出下面程序的 BUG

int CopyStringAndCount(char * Str) ①

{

int nCount = 0;

char * pBuffer; ②

pBuffer = new char[MAX_PATH_LENGTH];

strcpy(pBuffer, Str);

for ( ; pBuffer⑤; pBuffer++ )

if ( pBuffer⑥=='\' ) nCount ++;

return nCount;

}

篇10:IT相关笔试题

IT相关笔试题

IT相关笔试题分享: 1)与逆波兰表达式ab+cd+*对应的中缀表达式是: 1. a+b+c*d 2. (a+b)*c+d 3. (a+b)*(c+d) 4. a+b*c+d 2)下列对MD5的叙述不正确的是: 1. 是一种散列算法 2. 指纹(摘要)的长度为128位 3. 是一种对称加密算法 4. 可用来校验数据的完整性 3)HTTP 1.1协议中规定表示正常响应的状态代码是 1. 0 2. 100 3. 200 4. 400 4)在SOCKET通信过程中,下列哪些函数是客户端需要调用,但是服务端不需要调用的函数? 1. socket 2. bind() 3. connect() 4. send() 5)int listen(SOCKET s, int backlog);该函数中第二个参数的'含义 1. 是否打开log信息 2. 是否打开后台log信息 3. 后台等待连接队列的最大限制值 4. 后台等待连接队列的最小限制值 5. 无意义 6)将网络地址映射为链路层相应地址的协议是 1. DNS 2. TCP 3. ARP 4. ICMP

篇11:面试笔试题

面试笔试题

在进行面试时,不管是口头面试,还是进行笔试面试试题时,首先就是要调整良好的心态,以真诚应对。以下为企业的面试笔试题的内容,您可结合此类问题来评定自己的答案。

一、基本题:

1、请您作一下简单自我介绍。

2、您来面试前有没有想过整个过程?说说您先前是如何打算应对这场面试的,包括各个阶段。

3、您的缺点或不足是什么?您的优点或特长是什么?

4、谈谈你工作中一次失败的经历,谈谈你工作中一次成功的经历。

5、你希望与什么样的上级共事?

6、上级下达了错误的指令,这个指令会造成公司一百多万的损失,你会不会执行?为什么?或者你将怎样处理?

7、当与上级意见不一时,你将怎么办?

8、你为什么离开原来的单位?

9、我们公司什么地方吸引你?

10、你以前具体的日常工作是什么?你做的怎么样?

11、你对这项工作有哪些可预见的困难?

12、没有工作经验,你如何能胜任这份工作?

13、如果公司录用了你,你将怎样开展工作?

14、你到我们公司工作的目的是什么?

15、你期望的工作环境和工作状态是什么?你希望公司给你什么样的支持?

16、你以前的薪酬怎样?你期望什么样的薪酬和待遇?

二、实务题:

1、王老板口头上同意经销我公司产品,并答应你三天内可以打款进货,但到第四天他还没有打款。当你打电话或上门拜访时,他又以种种原因推脱说这几天很忙再过几天就打款。请问你该如何让王老板尽快打款进货?

2、张老板是你的新客户,由于尚未建立相互信任度,张老板要求货到后再付款,但公司明文规定经销商必须先打款后发货。请问你该怎么办?

3、你认为张老板信用度比较高,并以自己的工资做担保向公司申请货到付款,但货到后,张老板又对产品挑三捡四,以种种理由要求只付货款的90%给你,剩余的10%作为换货保证金,否则他就让你把这些货拉回公司。请问你如何让张老板全额付款?

4、郭老板很想经销我公司产品,你也认为郭老板是我公司在T市最合适的经销商,但郭老板向你提出两个要求:第一,要求产品降价;第二,要求公司为其做一块户外广告牌,费用5000元。公司执行全国统一价,不会为个别市场降价,而且在郭老板尚未给公司创造出利润的前提下不支付5000元广告费。请你提出合理的解决方案让郭老板尽快打款进货。

5、李老板经销我公司产品已经三年了,3个月前他进的一批果汁还有200箱没有卖出去,李老板让你帮他把这200箱果汁退回公司,否则他就不进公司新上市的八宝粥产品,但公司规定产品无质量问题不准退货。请问你该如何让李老板尽快配合公司新品上市?

6、马经理是B公司在S市的经销商,经销B公司的所有产品,但他已经半年没从B公司进货了,而且还欠公司两万元货款,另外他还有500箱B公司的`饮料没有销售。假如你是B公司的业务员,你得知S市的陈经理很愿意经销你的八宝粥产品,通过几次接触,陈经理表示如果你撤消马经理的经销权,他就从公司进货。你了解到马经理在当地社会关系复杂,如果处理不当会对公司市场造成负面影响,同时你又对陈经理的市场能量估计不足,而公司又催促你S市20天内必须进货。请问你该如何操作S市的市场。

7、在促销力度不强的情况下,你如何销售品牌知名度不高而价位又与知名品牌同类竞品相差无几的中高档新产品?

篇12:路透笔试题

路透笔试题

2012年路透笔试会考什么样的题目呢?下面来总结一下,

题目分为公共试题和逻辑试题两个部分。

公共试题是一道超级简单的逻辑推理外加一道作文,作文还是蛮难的,是写一封email,详细描述遇到的技术问题,向别人求助,而且要写出来自己已经想过的解决这个技术问题的办法。总之,我是胡写的,实在是不会啊。

逻辑试题分为六个部分,C++,C,算法,JAVA,C#,SQL。任选其中的四个部分来做,因为JAVA和C#完全不会,所以选了其他的四个。SQL不熟,所以都是蒙的,这里统计的题目就不包括SQL的部分。

因为年纪渐渐变大,过目不忘的本领逐渐退化,所以不能像当年朗讯笔试的时候完全把题目背下来了,只是把考点记下来了,因为有些题目比较简单,所以我就没有去记,因此题目统计不全,而且只是大概是这个样子,随便做个参考。老了,唉……

1.which one calls a program to halt?(multiple answers)

A.assert(10>0) B.assert(10<0) C.assert(x=0) D.assert(x<0)

2.class

{

public:

void f();

const void g();

private;

int data;

}

下面哪个选项可以访问data?

a.g()  b.f()  c. g()和f() d.都不可以

3.void time(int year,int moth=10,date=10);

下面哪些选项可以正确调用time()?

a.time(1995);

b.time(1995,1);

c.time(1995,1,2);

d.都不可以

4.下面哪个选项可以访问一个类的私有成员?

a.友元类的公有成员函数 b.类的公有成员函数 c.类的私有成员函数 d.都可以 e.都不可以

5.下面是一个类的几个部分,哪些部分有错误?

a.void ~Time(int);

b.class Time

{

public:

private:

int hour=0;

};

c.int Time(const char*,const char*);

d.Time(const char*,const char*);

6.什么时候会用到模版类?

7.(大概是这么个意思)

#include

int a =0;

void fn(int j,int *k)

{

int i=0;

i++;

int a=1;

*k=a;

j=i;

}

void main()

{

fn(1,2);

cout<

cout<<*k<

cout<

}

a,b,c句的打印结果是什么?

8.void f(________head_ptr);

其中head_ptr是链表的`头,f()是一个要对链表进行某种操作的函数,这个链表可能本来有一个头结点。

横线上应该填什么?

a.node *, b.node &, c.node*&, d.node

9. 一个二叉树

10

/   

2       15

/       /

1 30   3   5

移去二叉树的根节点并且用其他节点代替,用哪些节点使这个二叉树不受影响?

a. 2  b.15  c.1  d.3  e.5

10.(题目都没看懂)

circular array of CAPACITY elements, last is an index into that array, formular for the index afer last?

11.

int fn(char *s)

{

int a=0;

while(*s++)

{

a++;

}

return a;

}

void main()

{

char str[20]=“AAABBBCCC”;

int i=fn(str);

int j=sizeof(str);

strcpy(str+3,“DDD”);

cout<

}

i=?,j=?,最后输出的str=?

12.MyStruct

{

int a;

char*p;

double b;

}

void main()

{

MyStruct s[20];

MyStruct *p1=(MyStruct*)malloc(sizeof(MyStruct));

MyStruct*p2=new MyStruct;

}

求sizeof(MyStruct),sizeof(s);sizeof(p1),sizeof(p2);

还有许多题目不再赘述,大概有二叉树的前序遍历,递归函数的返回原理和执行过程,类的静态成员等等,

都是一些基础而且又零散的东西,不难但是长期不用很难记得的东西。

更多相关的笔试题目分享:2012年夏普笔试题2012年海信网申笔试题目2012年新太笔试题

【笔试题链表反向】相关文章:

1.笔试题

2.笔试题University

3.CPMP笔试题

4.笔试题继承

5.笔试题编译程序

6.HTC笔试题

7.Hongkong笔试题

8.雅虎笔试题

9.摩托罗拉笔试题

10.Facebook笔试题

下载word文档
《笔试题链表反向.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度: 评级1星 评级2星 评级3星 评级4星 评级5星
点击下载文档

文档为doc格式

  • 返回顶部