下面是小编整理的链表操作函数笔试题,本文共8篇,希望能帮助到大家!

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

链表节点定义如下

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);

篇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.设计一个重采样系统,说明如何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:?

篇4:笔试题单向链表

笔试题(单向链表)

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

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;

}

篇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、在Word 97的编辑状态中,“粘贴”操作的组合键是

A)Ctrl+A B)Ctrl+C C)Ctrl+V D)Ctrl+X

2、在Word 97的.表格操作中,计算求和的函数是

A)Count B)Sum C)Total D)Average

3、在Word 97的编辑状态中,对已经输入的文档进行分栏操作,需要使用的菜

单是

A)编辑 B)视图 C)格式 D)工具

4、调制解调器(Modem)的作用是

A)将计算机的数字信号转换成模拟信号,以便发送 B)将模拟信号转换成计算机

的数字信号,以便接收

C)将计算机数字信号与模拟信号互相转换,以便传输 D)为了上网与接电话两不

5、计算机软件系统是由哪两部分组成

A)网络软件、应用软件 B)操作系统、网络软件 C)系统软件、应用软件 D)服务

器端系统软件、客户端应用软件

6、下列叙述中,哪一条是正确的

A)反病毒软件通常滞后于计算机新病毒的出现

B)反病毒软件总是超前于病毒的出现,它可以查、杀任何种类的病毒

篇7:笔试题函数类

笔试题(函数类)

1. 下列函数头合法的是( )

A、function total(x:real);

B、procedure ab(a,b:real):real;

C、procedure sum;

D、function f(var f:real):integer;

E、procedure FontListBoxKeyDown(Sender: TObject; var Key: Word;

Shift: TShiftState;);

2. 已知函数如下:

function f(n:integer):integer;

begin

if n=0 then f:=0

else if n>0 then f:=f(n-2)

else f:=f(n+3)

end;

则调用f(5)的值是( )

A、0

B、1

C、-1

D、-2

E、2

3. 下列类型中合法的`是( )

A、TYPE a=10..10;

B、TYPE b=10..5;

C、TYPE c=0..SQRT(10);

D、TYPE d=10.0..20.0;

E、TYPE e=random(9)..1

4. 已知 Var a:array[\'a\'..\'e\',1..4,boolean] of real;

则数组a中包含的元素的个数为

A、5

B、20

C、40

D、11

E、22

5. 已知 Var a:array[1..10] of integer;

k,I:integer;

程序段:

k:=1;

for I:=1 to 10 do

if a[i]>a[k] then

k:=I;

writeln(a[k]);

执行后输出的是( )

A、数组中的平均值

B、数组中的最大值

C、数组中的最小值

D、数组中的总和

E、无法确定

6. 已知Var f:file of integer;则f所代表的文件是( )

A、ASCII码文件

B、二进制文件

C、文本文件

D、存放整数的文本文件

E、HTML文件

7. 在VCL中( )是TDBListBox的父类

A、TCustomListBox

B、TListBox

C、TDBDataset

D、TDatabase

E、TDBEdit

8. 为让控件显示弹出式提示框文字,需用到控件的()属性

A、Handle

B、Hint

C、ShowHint

D、Showing

E、Visible

篇8:笔试题函数返回值

3.Stack R,from the top to bottom:{2,3,4,5,6},逐个取出放入Queue Q ,再从Q中逐个取出放入R中,问现在

从上到下R中元素的排列?

4.在你自己定义的类中有什么是CLASSVIEW不会为你做的:

(a) 析构器。      (b)拷贝构造函数      (c)构造函数 (不记得有没有这一项了) (d)(不记得了)

5.写出程序的结果:___________  __________________

int funa(int *a)

{

a[0] ++;

}

int funb(int b[])

{

b[1] += 5;

}

更多推荐

链表操作函数笔试题