下面是小编整理的链表操作函数笔试题,本文共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;
}
更多推荐
链表操作函数笔试题
发布评论