printf("%d",array[i]);
printf("\n");
}
main()
{inta[11],i,x,chang;
/*printf("enterthearray\n");
for(i=1;i<11;i++)
scanf("%d",&a[i]);*/
aga:
printf("\nchang:
1:
usewatchingmethodfinding\n 2:
usehalfmethodfinding\n 3:
usedirectnessintsertmethodsort\n 4:
usebubbleupmethodsort\n 5:
exit\n");
scanf("%d",&chang);
switch(chang)
{case1:
{creat(a);
printf("Pleaseintthesearchnumber:
\n");
scanf("%d",&x);
printf("Thenumberstationis:
%d\n",search(a,N,x));
gotoaga;
}
case2:
{creat(a);
insertsort(a);
print(a);
printf("Pleaseintthesearchnumber:
\n");
scanf("%d",&x);
printf("Thenumberstationis:
%d\n",halfsearch(a,N,x));
gotoaga;
}
case3:
{creat(a);
insertsort(a);
print(a);
gotoaga;
}
case4:
{creat(a);
mpsort(a);
print(a);
gotoaga;
}
case5:
{printf("exit!
\n");break;}
default:
{printf("Error!
\n");gotoaga;}
}
}
二、线性链表的存储实现
structLNODE{
ElemTypedata;
structLNODE*next;
};
typedefstructLNODELNode;
typedefstructLNODE*LinkList;
1初始化操作
StatusInit_L(LinkListL){
if(L=(LinkList*)malloc(sizeof(LNode)))
{L->next=NULL;return1;}
elsereturn0;
}
2插入操作
StatusListInsert_L(LinkList&L,inti,ElemTypee){
p=L,j=0;
while(p&&jnext;++j;}
if(!
p||j>i-1)returnERROR;
s=(LinkList)malloc(sizeof(LNode));
s->data=e;s->next=p->next;
p->next=s;
returnOK;
}//ListInsert_L
3删除操作
StatusListDelete_L(LinkList&L,inti,ElemType&e){
p=L,j=0;
while(p&&jnext;++j;}
if(!
p->next||j>i-1)returnERROR;
q=p->next;p->next=q->next;
e=q->data;free(q);
returnOK;
}//ListDelete_L
4取某序号元素的操作
StatusGetElem_L(LinkList&L,inti,ElemType&e){
p=L->next,j=1;
while(p&&jnext;++j;}
if(!
p||j>i)returnERROR;
e=p->data;
returnOK;
}//GetElem_L
5归并两个单链表的算法
voidMergeList_L(LinkList&La,LinkList&Lb,LinkList&Lc){
//已知单链线性表La和Lb的元素按值非递减排列
//归并后得到新的单链线性表Lc,元素也按值非递减排列
pa=La->next;pb=Lb->next;
Lc=pc=La;
while(pa&&pb){
if(pa->data<=pb->data){
pc->next=pa;pc=pa;pa=pa->next;
}else{pc->next=pb;pc=pb;pb=pb->next;}
}
pc->next=pa?
pa:
pb;
free(Lb);
}//MergeList_L
头指针与头结点的区别:
头指针只相当于结点的指针域,头结点即整个线性链表的第一个结点,它的数据域可以放数据元素,也可以放线性表的长度等附加信息,也可以不存储任何信息。
第一部分数据结构和算法
1.假设执行语句S的时间为O
(1),则执行下列程序短的时间为()
for(i=1;i<=n;i++)
for(j=I;j<=n;j++)
S;
A.O(n)B.O(n2)C.O(n*i)D.O(n+1)
2.二位数组A[10…20,5…10]采用行序为主序方式存储,每个数据元素占4个存储单元,且A[10][5]的存储地址是1000,则A[18][9]的地址是()
A.1208B.1212C.1368D.1364
3.设栈最大长度为3,入栈序列为1,2,3,4,5,6,则不可能得出栈序列是()A.1,2,3,4,5,6B.2,1,3,4,5,6C.3,4,2,1,5,6D.4,3,2,1,5,64.设有98个已排序列元素,采用二分法查
取自"
似乎不难,可我还没找到。
头几天参加了中兴的笔试,做的不好,勉强是个合格,就这么黄了。
依稀记得几道题,公共题50分,C++和JAVA二选一50分。
其实一直就在用C,一看没有C心里还霍霍的,我当然选的C++。
我做的C卷:
公共题:
1、数据库中XXX和XXX操作可恢复数据库。
undoredo吧?
2、数据库的核心是XX。
3、头文件中<>和“”的区别?
4、定义一个宏,输入两个参数,输出积。
3、简述电路交换和分组交换的区别及优缺点。
4、
C++
都记不太清了,过去快2个星期了!
大约4个选择题,一个6分。
数组的操作,在内存中的分配(注意下标从0开始),大题:
1、18分的题:
char*GetMemory(void)
{
charp[]="helloworld";
returnp;
}
voidTest(void)
{
char*str=NULL;
str=GetMemory();
printf(str);
}
请问运行Test函数会有什么样的结果?
答:
可能是乱码。
因为GetMemory返回的是指向“栈内存”
的指针,该指针的地址不是NULL,但其原
现的内容已经被清除,新内容不可知。
还有一个比较简单,不写了。
2、析构函数什么时候运行,实现什么功能?
7、全局变量和局部变量的区别。
仔细看看林锐的《高质量程序指南》基本不会有大问题。
可惜啊,大意了...鄙视中
取自"
1.对数据库的一张表进行操作,同时要对另一张表进行操作,如何实现?
?
答案:
将操作多个表的操作放入到事务中进行处理
2.TCP/IP建立连接的过程?
(3-wayshake)
答案:
在TCP/IP协议中,TCP协议提供可靠的连接服务,采用三次握手建立一个连接。
第一次握手:
建立连接时,客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认;
第二次握手:
服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态;
第三次握手:
客户端收到服务器的SYN+ACK包,向服务器发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED状态,完成三次握手。
3.ICMP是什么协议,处于哪一层?
答案:
Internet控制报文协议,处于网络层(IP层)
4.触发器怎么工作的?
答案:
触发器主要是通过事件进行触发而被执行的,当对某一表进行诸如UPDATE、INSERT、DELETE这些操作时,数据库就会自动执行触发器所定义的SQL语句,从而确保对数据的处理必须符合由这些SQL语句所定义的规则。
5.winsock建立连接的主要实现步骤?
答案:
服务器端:
socker()建立套接字,绑定(bind)并监听(listen),用accept()等待客户端连接。
客户端:
socker()建立套接字,连接(connect)服务器,连接上后使用send()和recv(),在套接字上写读数据,直至数据交换完毕,closesocket()关闭套接字。
服务器端:
accept()发现有客户端连接,建立一个新的套接字,自身重新开始等待连接。
该新产生的套接字使用send()和recv()写读数据,直至数据交换完毕,closesocket()关闭套接字。
6.动态连接库的两种方式?
答案:
调用一个DLL中的函数有两种方法:
1.载入时动态链接(load-timedynamiclinking),模块非常明确调用某个导出函数,使得他们就像本地函数一样。
这需要链接时链接那些函数所在DLL的导入库,导入库向系统提供了载入DLL时所需的信息及DLL函数定位。
2.运行时动态链接(run-timedynamiclinking),运行时可以通过LoadLibrary或LoadLibraryEx函数载入DLL。
DLL载入后,模块可以通过调用GetProcAddress获取DLL函数的出口地址,然后就可以通过返回的函数指针调用DLL函数了。
如此即可避免导入库文件了。
7.IP组播有那些好处?
答案:
Internet上产生的许多新的应用,特别是高带宽的多媒体应用,带来了带宽的急剧消耗和网络拥挤问题。
组播是一种允许一个或多个发送者(组播源)发送单一的数据包到多个接收者(一次的,同时的)的网络技术。
组播可以大大的节省网络带宽,因为无论有多少个目标地址,在整个网络的任何一条链路上只传送单一的数据包。
所以说组播技术的核心就是针对如何节约网络资源的前提下保证服务质量。
2006年3月21日于华侨大学洪祖杭大楼,笔试分三部分,公共部分(都做),C++部分和JAVA部分选做。
考试时间1小时!
蜗牛自己打字好累啊!
供涯友分享。
公共部分(50分)
1:
作业调度程序从处于()状态的队列中选择适当的作业的作业投入运行。
(3分)
A运行B提交C完成D后备
2:
SQL语言中,删除一个表的命令是()(3分)
ACLEARTABLEBDROPTABLE
CDELETETABLEDREMOVETABLE
3:
ATM采用的线路复用方式为()(3分)
A频分多路复用
B同步时分多路复用
C异步时分多路复用
D独占信道
4:
数据库中只存放视图的()(3分)
A操作
B对应的数据
C定义
D限制
5:
什么是虚拟设备?
为什么在操作系统中引入虚拟设备?
(10分)
6:
TCP为何采用三次握手来建立连接,若采用二次握手可以吗,请说明原因?
(16分)
7:
什么是分布式数据库?
(12分)
C++部分(50分)
1:
设有“intw[3][4];”,pw是与数组名w等价的数组指针,则pw的初始化语句为________________(3分)
2:
要使引用pr代表变量“char*p”,则pr的初始化语句为__________________(3分)
3:
“零值”可以是0,0.0,FALSE或者“空指针”。
例如int变量n与“零值”比较的if语句为:
if(n==0),则BOLLflag与“零值”比较的if语句为______________;floatx与“零值”比较的if语句为:
______________。
(6分)
4:
社有如下语句:
(3分)
Intx;
()
*px=0;
则选择以下哪条语句可将x值置为0。
Aint*px;Bintconst*px=&x;
Cintconstpx=&x;Dconstint*px=&x;
5:
设viodf1(int*m,long&n);inta;longb;则以下调用合法的是()(3分)
Af1(a,b)Bf1(&a,b)
Cf1(a,&b)Df1(&a,&b)
6:
请写出如下代码的运行结果(6分)
Intmain()
{inta,b,c,d;
a=0;
b=1;
c=2;
d=3;
printf(“%d”,a+++b+c+++d++);}
7:
写出下面函数的功能(12分)
Template
VoidWE(Typea[],Typeb[],intn){
for(inti=0;i 8写一段代码判断一个单向链表中是否有环。
(14分)
给出如下结构
Structnode
{steuct*next;
};
TypedefstuctnodeNode;
JAVA部分(50分)
1:
判断下列对的是哪个()(3分)
Ashorts1=1;s1=s1+1
Bshorts1=1;s1+=1
Cshorts1=1;s1=s1-1
Dshorts1=1;s1=s1*1
2:
main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的()(3分)
Apublicstaticvoidmain()
Bpublicstaticvoidmain(Stringargs)
Cpublicstaticintmain(String[]arg)
Dpublicvoidmain(Stringargs)
3:
设floatx=1,y=2,z=3,则表达式y+=z--/++x的值是()(3分)
A3.5B3
C4D5
4:
Math.round(11.5)=_______
Math.round(-11.5)=_______(4分)
5:
假设x=10,y=20,z=30;计算下列表达式的值(6分)
Ax<10||x>10__________
B !
(x Cz-y==x&&Math.abs(y-z)!
=x_____________
6:
方法重建Overload和方法的重写Overriding的区别。
Overload的方法是否可以改变返回值的类型?
(10分)
7:
谈谈HashMap和Hashtable的区别(6分)
8:
构造一个类来描述屏幕上的一个点,该类的构成包括点x和y两个坐标,以及一些对点进行的操作,包括:
取得点的坐标值,对点的坐标进行赋值,编写应用程序生成该类的对象并对其进行操作。
(15分)
取自"
是中兴第一轮的笔试题,5个小程序,自己的C++没学好
1、分数统计(15)
要求:
(1)输入某班级学生的姓名、分数;
(2)对
(1)的分数进行降幂排列并输出;
(3)具有输入输出界面。
2、打字程序(15)
要求:
(1)随即产生一字符串,每次产生的字符串内容、长度都不同;
(2)根据
(1)的结果,输入字符串,判断输入是否正确,输出正确率;
(3)具有输入输出界面。
3、文本编辑器(15)
要求:
(1)编辑文本;
(2)保存、打开指定位置的文本文件;
(3)具有输入输出界面。
4、加密(15)
要求:
(1)输入任意一段明文M,以及密钥K;
(2)根据一下公式将其转换为密文C。
Ci=mi+K,其中i=0,1,……n-1,K为密钥;
(3)具有输入输出界面。
5、进制转换器(15)
要求:
(1)可输入二进制、八进制、十进制、十六进制数;
(2)将已输入的数转换成其余进制的数;
(3)具有输入输出界面。
面试我的一个男的和一个ppjj。
ppjj不时微笑一下,另一位老沉着脸。
我是学网络的,本来我想先介绍一下做的项目,后来都没有机会,只把其中两个附带介绍了一下。
ppjj好像不太懂技术,只问我最后一个项目中担任具体工作,我刚好想说,因为这个项目我做总体设计和项目管理。
另一个问我IPv6对V4的改进之处,IPv6的过渡技术,我们的改进方案的原理(这是我的研究方向),UDP的应用场合,ping的实现原理(让我ft)还让我写二分法的算法(太简单了,很ft,问了他几次证实,他有点不悦)
我就很快写了一下,可能有些小错。
最核然后问我想在哪儿工作,ppjj代我回答了,对他说上海深圳都可以的。
他们就是问你项目然后逮住你自己说精通的或者他懂的东西深入问一下。
1.对数据库的一张表进行操作,同时要对另一张表进行操作,如何实现?
?
2.TCP/IP建立连接的过程?
(3-wayshake)
3.ICMP是什么协议,处于哪一层?
4.触发器怎么工作的?
5.winsock建立连接的主要实现步骤?
6.动态连接库的两种方式?
7.IP组播有那些好处?
取自"
我对中兴表示深深的失望,想不到面试组织的这么差,我还从来没碰到过组织的这么差的面试.
给人感觉就和赶集似的,一点组织都没有,乱哄哄的.连一次面试都组织不好,这种企业的管理可想而知.
面试时,基本上没问什么问题,就让你介绍介绍自己做过的东西,技术上根本没有深入的问.面试完,我就一直在考虑这个问题,中兴凭什么来区分优中差哪?
我想凡是交大的研究生,照这种面试方式,应该都能通过一轮面试.那他总要率减掉大部分人啊,哪又凭什么呢?
那么最终的结果很又可能看你的出生,你是电信的,ok,要了,哪怕你是个衰人(电信里不见得人人都很牛吧),不是电信的免谈.专业不限,