今天小编在这给大家整理了武汉笔试题目,本文共8篇,我们一起来阅读吧!

篇1:武汉笔试题目
武汉笔试题目
这次来武汉主要招上海的软件研发人员,实习期半年以上,是与华科软件学院合
作的估计要软院的人机会比较大;而且宣讲会地点在研究生活动中心,要研究生
的几率较大,前段时间平安IT在武汉招人据说也是和我们校计算机学院合作,要
了6、7个,其他专业估计没要多少吧。
偶是炮灰,笔试考的`内容基本不懂。偶非软件相关专业,熟c,略知java c#皮毛
,不懂c++,而笔试以c++和OO思想为主,外行人没办法啊。
此行主要抱着玩玩的心态,自知希望渺茫。
由于人多,考试分两场,c++部分一个小时,汇编部分半小时。顺便说一下天气
比较闷热,人很多,且空调没开,比较难受。
加起来笔试总共估计300-400人左右吧,说会在明天中午12点公布名单,然后马
上开始面试(简历面试才需要,笔试不收),很紧凑的行程。不知道会不会现场
offer,如果是武汉地区有固定指标的话估计会。
说下笔试内容,凭回忆,不全面仅供参考。之前有人发过笔经,这个权当补充吧。
第一部分
1.基本OO内容选择题
2.程序改错,写程序结果
3.最后一个题是写一个log system,给出系统架构和数据库表设计
4.有一个图排序问题,看不明白
5.有一个链表问题,自行编写程序实现插入功能
6.写程序,体现Prototype Design和另外一个什么Design的pattern,是两个题
目来的
7.有一个java题目,实现栈功能,修改某方法使之更有效率,
该方法功能是栈满
时,重新分配空间,题目的方法是完全重新分配,拷贝内容至新栈。
8.有若干java多项选择题,考些东西比较细
9.有个软件refractor题(不懂),给一页多长的程序,没错误的,要修改使之
更好
10.unix命令题,其中一个是查看网络连接的命令。
其他可能还有,不记得了
第二部分
汇编是给一个英文材料,根据材料答题。里面列出该CPU的指令格式以及指令功
能解析。
本人x86、51、ARM、DSP汇编都略知一二,很遗憾此CPU不是常见的任一
种,只能凭材料做题。
1.一个伪代码描述的程序,跟链表相关,改一个错误并写出程序功能。
2.一个此CPU的汇编程序,半页多,写出程序功能
3.汇编程序填空,根据提示实现功能
大概写几条指令,看看有哪位知道吧
RS(Read from Store) register,store 从存储器载入数到寄存器
MFR(Move From Register) wr1,wr2 相当于普通的MOV指令。除了wr之外,还有
一种叫pr的指针寄存器
还有逻辑运算与或移位指令,跳转指令,算术运算指令加减乘除
还有奇怪的一类指令,例如叫SSB(Send Signal ?)什么,没搞明白。
最后说一点体会,珍惜每一个机会。
早做准备,不然机会来临也抓不住。
篇2:it笔试题目
1、有一个名人和很多平民在一块,平民都认识这个名人,但是这个名人不认识任何一个平民,任意两个平民之间是否认识是未知的,请设计一个算法,快速找个这个人中的那个名人。 已知已经实现了一个函数 bool know(int a,int b) 这个函数返回true的时候,表明a认识b,返回false的时候表明a不认识b。
思路:首先将n个人分为n/2组,每一组有2个人,然后每个组的两个人调用这个know函数,假设为know(a,b),返回true的时候说明a认识b,则a肯定不是名人,a可以排除掉了,依次类推,每个组都调用这个函数依次,那么n个人中就有n/2个人被排除掉了,数据规模将为n/2。同理在剩下的n/2个人中在使用这个方法,那么规模就会将为n/4,这样所有的遍历次数为n/2+n/4+n/8+........ 这个一个等比数列,时间复杂度为o(n)。
2、进程切换需要注意哪些问题?
保存处理器PC寄存器的值到被中止进程的私有堆栈; 保存处理器PSW寄存器的值到被中止进程的私有堆栈; 保存处理器SP寄存器的值到被中止进程的进程控制块;
保存处理器其他寄存器的值到被中止进程的私有堆栈; 自待运行进程的进程控制块取SP值并存入处理器的寄存器SP; 自待运行进程的私有堆栈恢复处理器各寄存器的值;
自待运行进程的私有堆栈中弹出PSW值并送入处理器的PSW; 自待运行进程的私有堆栈中弹出PC值并送入处理器的PC。
3、输入一个升序数组,然后在数组中快速寻找两个数字,其和等于一个给定的值。
这个编程之美上面有这个题目的,很简单的,用两个指针一个指向数组前面,一个指向数组的后面,遍历一遍就可以了。
4、判断一个自然数是否是某个数的平方。当然不能使用开方运算。
方法1:
遍历从1到N的数字,求取平方并和N进行比较。
如果平方小于N,则继续遍历;如果等于N,则成功退出;如果大于N,则失败退出。
复杂度为O(n^0.5)。
方法2:
使用二分查找法,对1到N之间的数字进行判断。
复杂度为O(log n)。
方法3:
由于
(n+1)^2
=n^2 + 2n + 1,
= ...
= 1 + (2*1 + 1) + (2*2 + 1) + ... + (2*n + 1)
注意到这些项构成了等差数列(每项之间相差2)。
所以我们可以比较 N-1, N - 1 - 3, N - 1 - 3 - 5 ... 和0的关系。
如果大于0,则继续减;如果等于0,则成功退出;如果小于 0,则失败退出。
复杂度为O(n^0.5)。不过方法3中利用加减法替换掉了方法1中的乘法,所以速度会更快些。
例如:3^2 = 9 = 1 + 2*1+1 + 2*2+1 = 1 + 3 + 5
4^2 = 16 = 1 + 2*1 + 1 + 2*2+1 + 2*3+1
int square(int n)
{
int i = 1;
n = n - i;
while( n > 0 )
{
i += 2;
n -= i;
}
if( n == 0 ) //是某个数的平方
return 1;
else //不是某个数的平方
return 0;
}
篇3:it笔试题目
一、算法设计
1、设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。
思路:这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1),然后在调用[s2,t2]随机产生一个数a,归一化后得到角度:360*(a-s2)/(t2-s2)
2、为分析用户行为,系统常需存储用户的一些query,但因query非常多,故系统不能全存,设系统每天只存m个query,现设计一个算法,对用户请求的query进行随机选择m个,请给一个方案,使得每个query被抽中的概率相等,并分析之,注意:不到最后一刻,并不知用户的总请求量。
思路:如果用户查询的数量小于m,那么直接就存起来。如果用户查询的数量大于m,假设为m+i,那么在1-----m+i之间随机产生一个数,如果选择的是前面m条查询进行存取,那么概率为m/(m+i),如果选择的是后面i条记录中的查询,那么用这个记录来替换前面m条查询记录的概率为m/(m+i)*(1-1/m)=(m-1)/(m+i),当查询记录量很大的时候,m/(m+i)== (m-1)/(m+i),所以每个query被抽中的概率是相等的。
3、C++ STL中vector的相关问题:
(1)、调用push_back时,其内部的内存分配是如何进行的?
(2)、调用clear时,内部是如何具体实现的?若想将其内存释放,该如何操作?
vector的工作原理是系统预先分配一块CAPACITY大小的空间,当插入的数据超过这个空间的时候,这块空间会让某种方式扩展,但是你删除数据的时候,它却不会缩小。
vector为了防止大量分配连续内存的开销,保持一块默认的尺寸的内存,clear只是清数据了,未清内存,因为vector的capacity容量未变化,系统维护一个的默认值。
有什么方法可以释放掉vector中占用的全部内存呢?
标准的解决方法如下
template < class T >
void ClearVector( vector< T >& vt )
{
vector< T > vtTemp;
veTemp.swap( vt );
}
事实上,vector根本就不管内存,它只是负责向内存管理框架acquire/release内存,内存管理框架如果发现内存不够了,就malloc,但是当vector释放资源的时候(比如destruct), stl根本就不调用free以减少内存,因为内存分配在stl的底层:stl假定如果你需要更多的资源就代表你以后也可能需要这么多资源(你的list, hashmap也是用这些内存),所以就没必要不停地malloc/free。如果是这个逻辑的话这可能是个trade-off
一般的STL内存管理器allocator都是用内存池来管理内存的,所以某个容器申请内存或释放内存都只是影响到内存池的剩余内存量,而不是真的把内存归还给系统。这样做一是为了避免内存碎片,二是提高了内存申请和释放的效率――不用每次都在系统内存里寻找一番。
二、系统设计
正常用户端每分钟最多发一个请求至服务端,服务端需做一个异常客户端行为的过滤系统,设服务器在某一刻收到客户端A的一个请求,则1分钟内的客户端任何其它请求都需要被过滤,现知每一客户端都有一个IPv6地址可作为其ID,客户端个数太多,以至于无法全部放到单台服务器的内存hash表中,现需简单设计一个系统,使用支持高效的过滤,可使用多台机器,但要求使用的机器越少越好,请将关键的设计和思想用图表和代码表现出来。
三、求一个全排列函数:
如p([1,2,3])输出:
[123]、[132]、[213]、[231]、[321]、[323]
求一个组合函数
如p([1,2,3])输出:
[1]、[2]、[3]、[1,2]、[2,3]、[1,3]、[1,2,3]
这两问可以用伪代码。
篇4:it笔试题目
1、对于如下程序:
#include
using namespace std;
class A
{
public:
A
{
cout<<“A”<
}
};
int main(void)
{
A a[4], b,*p;
}
会输出多少个A?( C )
A、2 B、3 C、5 D、6
p只是一个对象指针,并没有指向一个对象的内存空间,所以没有调用构造函数。
2、头文件中的 ifndef/define/endif 有什么作用?
答:防止该头文件被重复引用,避免变量、类型等被重新定义。
3、const 有什么用途?(请至少说明两种)
答:(1)可以定义 const 常量。
(2)const可以修饰函数的参数、返回值,甚至函数的定义体。被const修饰的东西都受到强制保护,可以预防意外的变动,能提高程序的健壮性。
4、如下的字符串函数,用于生存一个字符串 ”连接号码异常” ,并返回它的指针
char* strfun()
{
char str[20];
strcpy(str, “连接号码异常”);
printf(“%s n”, str); //printf语句1
return str;
}
void main()
{
char *pstr = strfun();
printf(“%s n”, pstr); //printf语句2
}
问题1 : printf语句1和printf语句2哪个能在屏幕上正在打印出来?
问题2 : 如果不能正常在屏幕上打印出字符串,请说明原因。
问题3 : 如果不修改strfun的声明,请问该如何修改上述程序的错误。
答:
问题1:语句1可以正常打印,语句2不能正常打印;
问题2:语句2使用的指针所指向的内存空间str[20],在函数strfun返回时已经被释放了;
问题3:可以将函数strfun中的语句char str[20];改为char *str = new char[20];
5、下面是交换两个double型数据的函数,
void swap( double* p1, double* p2 )
{
double *p;
*p = *p1;
*p1 = *p2;
*p2 = *p;
}
void main()
{
double a = 0.1;
double b = 0.2;
swap( &a, &b );
}
请找出上述代码的错误,指出错误的原因,并改正。
答:函数swap中混淆了double型指针与double型变量的差别,对于一个未初始化的指针访问其内存空间是非常危险的。对swap函数修改如下:
void swap( double* p1, double* p2 )
{
double p;
p = *p1;
*p1 = *p2;
*p2 =p;
}
6、在电信业务的后台处理程序中,经常会涉及到处理字符串,除了用char *处理字符串之外,C++还为我们提供了封装了的字符串类string,其本质也是用一个动态数组来保存字符串,类String的原型为:
class String
{
public:
String(const char *str = NULL); // 普通构造函数
String(const String &other); // 拷贝构造函数
~String(void); // 析构函数
String & operate =(const String &other); // 赋值函数
private:
char *m_data; // 用于保存字符串
};
请编写String的上述4个函数普通构造函数、拷贝构造函数、析构函数和赋值函数。
代码如下:
class String
{
private:
char *m_data;
public:
String();
String(const char *str = NULL);
String(const String &other);
~String(void);
String & operator =(const String &other);
};
String::String()
{
m_data = NULL;
}
String::String(const char *str = NULL) //带一个指针的普通构造函数
{
if(str == NULL)
{
m_data = new char[1];
assert(m_data != NULL);
*m_data = ' ';
}
else
{
int length=strlen(str);
m_data = new char[length+1];
assert(m_data != NULL);
strcpy(m_data,str);
}
}
String::String(const String &other) //拷贝构造函数
{
m_data = new char[other.length+1];
assert(m_data != NULL);
strcpy((*this).m_data,other.m_data);
}
String::~String(void) //析构函数
{
if(m_data != NULL)
{
delete m_data;
m_data = NULL;
}
}
String & String::operator=(const String &other) //赋值函数
{
if(&other != this)
{
delete [](*this).m_data;
(*this).m_data = new char[other.length+1];
assert((*this).m_data != NULL);
strcpy((*this).m_data,other.m_data);
}
}
篇5:it笔试题目
1、对于一个内存地址是32位、内存页是8KB的系统。0X0005F123这个地址的页号与页内偏移分别是多少。
2、如果X大于0并小于65536,用移位法计算X乘以255的值为: (X<<8)-X
X<<8-X是不对的,因为移位运算符的优先级没有减号的优先级高,首先计算8-X为0,X左移0位还是8。
3、一个包含n个节点的四叉树,每个节点都有四个指向孩子节点的指针,这4n个指针中有 3n+1 个空指针。
4、以下两个语句的区别是:第一个动态申请的空间里面的值是随机值,第二个进行了初始化,里面的值为0
int *p1 = new int[10];
int *p2 = new int[10]();
5、计算机在内存中存储数据时使用了大、小端模式,请分别写出A=0X123456在不同情况下的首字节是,大端模式:0X12 小端模式:0X56 X86结构的计算机使用 小端 模式。
一般来说,大部分用户的操作系统(如windows, FreeBsd,Linux)是小端模式的。少部分,如MAC OS,是大端模式 的。
6、在游戏设计中,经常会根据不同的游戏状态调用不同的函数,我们可以通过函数指针来实现这一功能,请声明一个参数为int *,返回值为int的函数指针:
int (*fun)(int *)
7、下面程序运行后的结果为:to test something
char str[] = “glad to test something”;
char *p = str;
p++;
int *p1 = static_cast(p);
p1++;
p = static_cast(p1);
printf(“result is %sn”,p);
8、在一冒险游戏里,你见到一个宝箱,身上有N把钥匙,其中一把可以打开宝箱,假如没有任何提示,随机尝试,问:
(1)恰好第K次(1=
(2)平均需要尝试多少次。
这个就是求期望值 由于每次打开宝箱的概率都是1/n,则期望值为: 1*(1/n)+2*(1/n)+3*(1/n)+......+n*(1/n) = (n+1)/2
篇6:武汉地区百度产品经理笔试题目
,
分析原生相册的不足,用户需求痛点,画出相关页面的产品原型线框图(1-3个页面即可)。并分析为什么用户要使用你这款产品
篇7:PS笔试题目
一、单选题:
1、色彩深度是指在一个图像中____________的数量。
A、颜色
B、饱和度*
C、亮度
D、灰度
2、当将CMYK模式的图像转换为多通道模式时,产生的通道名称是:___________
A、青色、洋红、黄色、黑色*
B、青色、洋红、黄色
C、四个名称都是Alpha 通道
D、四个名称都是Black (黑色通道)
3、在Photoshop中的空白区域,双击可以实现____________
A、新建一个空白文档
B、新建一幅图片
C、打开一幅图片*
D、只能打开一幅扩展名为.psd的文件
4、按住Ctrl键在Photoshop中的空白区域双击可以实现____________
A、新建一个空白文档*
B、新建一幅图片
C、打开一幅图片
D、只能打开一幅扩展名为.psd的文件
5、文件菜单中的“打开为”菜单项的作用是____________
A、打开一个新的图片
B、只能打开一个扩展名为.psd的文件*
C、打开一个新建文件
D、打开所有格式的图片文件
6、下列哪种工具可以选择连续的相似颜色的区域:____________
A、矩形选框工具
B、椭圆选框工具
C、魔棒工具*
D、磁性套索工具
7、为了确定磁性套索工具对图像边缘的敏感程度,应调整下列哪个数值:____________
A、容差
B、边对比度*
C、颜色容差
D、套索宽度
8、在色彩范围对话框中为了调整颜色的范围,应当调整:___________
A、反相
B、消除锯齿
C、颜色容差*
D、羽化
9、变换选区命令不可以对选择范围进行哪个编辑:____________
A、缩放
B、变形
C、不规则变形*
D、旋转
10、在路径曲线线段上,方向线和方向点的位置决定了曲线段的:____________
A、角度
B、形状*
C、方向
D、像素
11、若要进入快速蒙版状态,应该:____________
A、建立一个选区*
B、选择一个Alpha 通道
C、单击工具箱中的快速蒙版图标
D、单击编辑菜单中的快速蒙版
12、若想使各颜色通道以彩色显示,应选择下列哪个命令设定:___________
A、显示与光标*
B、图像高速缓存
C、透明度与色域
D、单位与标尺
13、Alpha 通道最主要的用途是____________
A、保存图像色彩信息
B、创建新通道
C、用来存储和建立选择范围*
D、为路径提供的通道
14、移动图层中的图像时,如果每次需移动10 个象素的距离,应___________
A、按住Alt键的同时按键盘上的箭头键
B、按住Tab 键的同时按键盘上的箭头键
C、按住Ctrl的同时按键盘上的箭头键
D、按住Shift 键的同时按键盘上的箭头键*
15、哪种类型的图层可以将图像自动对齐和分布:____________
A、调节图层
B、链接图层*
C、填充图层
D、背景图层
16、滤镜中的__________效果,可以使图像呈现塑料纸包住的效果;该滤镜使图像表面产生高光区域,好像用塑料纸包住物体时产生的效果。
A、塑料包装*
B、塑料效果
C、基底凸现
D、底纹效果
17、在photoshop 7.0中__________是最重要、最精彩、最不可缺少的一部分 ,是一种特殊的软件处理模块,也是一种特殊的图像效果处理技术。
A、图层
B、蒙版
C、工具
D、滤镜*
18、PHOTOSHOP生成的文件默认的文件格式扩展名为____________
A、JPG
B、PDF
C、PSD*
D、TIF
19、图象的分辩率为300象素每英寸,则每平方英寸上分布的象素总数为_________ A、600
B、900
C、60000
D、90000*
20、HSB中的H是指________
A、色相*
B、明度
C、亮度
D、纯度
21、一个8位图像支持的颜色有_____________
A、16种
B、256种*
C、65536种
D、1677万种
22、photoshop最多可以设置的暂存盘的数目是__________
A、3个
B、4个
C、5个
D、6个
23、photoshop缺省时,设置的保留历史状态数是_____________
A、20次*
B、50次
C、99次
D、无限制
24、在对话框中,压住______键,可使取消按钮变成复位按钮。
A、Shift
B、Alt*
C、Ctrl
D、space(空格)
25、当图像偏蓝时,使用变化功能应当给图像增加何种颜色:____________
A、蓝色
B、绿色
C、黄色*
D、洋红
26、如果扫描的图像不够清晰,可用下列哪些滤镜弥补:____________
A、噪音
B、风格化
C、锐化*
D、扭曲
27、下列哪种格式不支持无损失压缩:____________
A、PNG
B、JPEG*
C、PHOTOSHOP
D、GIF
28、下列哪种格式用于网页中的图像制作:____________
A、EPS
B、DCS 2.0
C、TIFF
D、JPEG*
29、下列哪种格式支持图层:____________
A、PSD*
B、JPG
C、BMP
D、DCS 2.0
30、当使用JPEG 作为优化图像的格式时:____________
A、JPEG 虽然不能支持动画,但它比其它的优化文件格式(GIF和PNG)所产生的文件一定小
B、当图像颜色数量限制在256 色以下时,JPEG 文件总比GIF 的大一些
C、图像质量百分比值越高,文件越大*
D、图像质量百分比值越高,文件越小
31、下面对于高斯模糊叙述正确的是:____________
A、可以对一幅图像进行比较精细的模糊。
B、对图像进行很大范围的调整,产生区间很大的各种模糊效果。*
C、使选区中的图像呈现出一种拍摄高速运动中的物体的模糊效果。
D、用于消除图像中颜色明显变化处的杂色,使图像变得柔和。
32、使用钢笔工具可以绘制出最简单的线条是什么:____________
A、直线*
B、曲线
C、描点
D、像素
33、图层控制面板的快捷键是:___________
A、F6
B、F7*
C、F8
D、F9
34、下列可以使图像产生立体光照效果的滤镜是____________
计算机一级ps考试试题及答案计算机等级考试题库 A、风
B、等高线
C、浮雕效果*
D、照亮边缘
35、下列哪个不属于在图层面板中可以调节的参数___________
A、透明度
B、编辑锁定
C、显示隐藏当前图层
D、图层的大小*
36、Alpha 通道相当于几位的灰度图:____________
A、4位
B、8位
C、16位*
D、32位
37、在图层面板中,按住___________的同时单击垃圾桶图标,可直接将选中的通道删除。
A、Shift
B、Alt*
C、Ctrl
D、space
38、按住下列哪个键可保证椭圆选框工具绘出的是正圆形__________
A、Shift*
B、Alt
C、Ctrl
D、Caps Lock
39、当你使用魔棒工具在图像上单击,只有一个像素被选中,容差的值最可能是__________ A、255
B、256
C、1
D、0*
40、当单击路径调板下方的“用前景色填充路径”图标时,若想弹出填充路径的设置对话框,应同时按住下列的___________键
A、Shift
B、Ctrl
C、Alt*
D、Shift+ctrl
篇8:程序设计相关笔试题目
程序设计相关笔试题目
一: 写入如下程序的运行结果
1、
public class Test {
int i = 1;
int j = 3;
public Test(int m, int n){
this.i = m;
this.j = n;
}
public Test(){}
public static void main(String[] args) {
new Test().test();
}
public void test(){
new Test(4,2);
System.out.println(“i=”+i+“,j=”+j);
}
}
我写的是 i=2, j=4, 而实际上的`运行结果为i=1, j=3。
2、
public class A {
public int Avar;
public A(){
System.out.println(“AAA”);
doSomething();
}
public void doSomething(){
Avar = 1111;
System.out.println(“A.doSomething()”);
}
}
public class B extends A {
public int Bvar = 2222;
public B(){
System.out.println(“BBBB”);
doSomething();
System.out.println(“Avar=”+Avar);
}
public void doSomething(){
System.out.println(“Bvar=”+Bvar);
}
public static void main(String[] args) {
new B();
}
}
我写的运行结果为:
AAA
A.doSomething()
BBB
2222
1111
而实际运行结果为:
AAA
Bvar=0
BBB
Bvar=2222
Avar=0
3、 Interger integer;
if(integer==42){ do something ... }。 次代码片段在运行时抛 空指针异常。 因为Integer为非基本类型的变量, 其默认值为null, 所以 .... ...
4、
/**
* 测试 string 的
*/
public static void main(String[] args) {
String str1 = new String(“A”);
String str2 = new String(“B”);
operateString(str1, str2);
System.out.println(“str1=”+str1+“,str2=”+str2);
int x=10;
operateInt(x);
System.out.println(x);
StringBuffer str3 = new StringBuffer(“A”);
StringBuffer str4 = new StringBuffer(“B”);
operateStringBuffer(str3, str4);
System.out.println(“str3=”+str3+“,str4=”+str4);
testOperator();
}
public static void operateString(String a, String b){
a.concat(b);
b=a;
}
public static void operateInt(int x){
x = x+100;
}
public static void operateStringBuffer(StringBuffer a, StringBuffer b){
a.append(“B”);
b=a;
}
输出结果为: A, B, 10, AB, B. 此题给出了正解,
5、 String 类型的变量也支持重载符: “+=”。
6、 编程题, 实现 归并排序算法:
public class MergeSort2 {
public int[] sort(int[] data) {
int[] temp=new int[data.length];
mergeSort(data,temp,0,data.length-1);
return data;
}
private void mergeSort(int[] data,int[] temp,int l,int r){
int mid=(l+r)/2;
System.out.println(l+“, ”+mid+“, ”+r);
if(l==r) return ;
mergeSort(data,temp,l,mid);
mergeSort(data,temp,mid+1,r);
for(int i=l;i<=r;i++){
System.out.println(“i=”+i);
temp[i]=data[i];
}
int i1=l;
int i2=mid+1;
for(int cur=l;cur<=r;cur++){
if(i1==mid+1)
data[cur]=temp[i2++];
else if(i2>r)
data[cur]=temp[i1++];
else if(temp[i1] data[cur]=temp[i1++]; else data[cur]=temp[i2++]; } } /** * @param args */ public static void main(String[] args) { int[] datas={1,21,34,79,98,23,68,2,3,8,6,33,6,7,87,32,24,6,776}; MergeSort2 mergeSort=new MergeSort2(); datas=mergeSort.sort(datas); for(int i=0;i System.out.print(datas[i]+“,”); } } } ★笔试题目 文档为doc格式