下载此文档

java笔试算法题及答案.doc


文档分类:IT计算机 | 页数:约15页 举报非法文档有奖
1/15
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/15 下载此文档
文档列表 文档介绍
Java笔试算法题
现在输入n个数字,以逗号,分开;然后可选择升或者降序排序。
代码:
import .*;
/**
* 现在输入n个数字,以逗号,分开;然后可选择升或者降序排序
* ***@author howard
*/
public class ma{
public void ma(String sysin){
String[] split = (",");//以逗号分隔,转化成字符串数组
int[] result = new int[];
for(int i = 0; i<;i++){
result[i] =(split[i]);
}
(result);
//asc 升序输出
for(int i=0;i<;i++ ){
(result[i]);
}
//desc 降序输出
for(int i=(-1);i>=0;i--){
(result[i]);
}
}
}
编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。
代码:
public static boolean isLetter(char c) {
int k = 0X80;
return c / k == 0 ? true : false;
}
public static int lengths(String strSrc) {
if (strSrc == null) {
return 0;
}
int len = 0;
char[] strChar = ();
for (int i = 0; i < ; i++) {
len++;
if (!isLetter(strChar[i]))
len++;
}
return len;
}
public static String subString(String origin, int len) {
if (origin == null || ("") || len < 1) {
return "";
}
if (len > lengths(origin)) {
return origin;
}
byte[] strByte = new byte[len];
((), 0, strByte, 0, len);
int count = 0;
for (int i = 0; i < len; i++) {
int value = (int) strByte[i];
if (value < 0)
count++;
}
if (count % 2 != 0) {
--len;
}
return new String(strByte, 0, len);
}
public static void main(String[] args) {
("" + subString("我ABC汉DEF", 7));
}
排序都有哪几种方法?请列举。用JAVA实现一个快速排序。
排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)
快速排序的伪代码。
/ /使用快速排序方法对a[ 0 :n- 1 ]排序从a[ 0 :n- 1 ]中选择一个元素作为m I d d l e,该元素为支点把余下的元素分割为两段left 和r I g h t,使得l e f t中的元素都小于等于支点,而right 中的元素都大于等于支点递归地使用快速排序方法对left 进行排序递归地使用快速排序方法对right 进行排序所得结果为l e f t + m I d d l e + r I g h t
//以下为java程序实现的快速排序算法:
public class QuickSorc {
pu

java笔试算法题及答案 来自淘豆网m.daumloan.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数15
  • 收藏数0 收藏
  • 顶次数0
  • 上传人zxwziyou9
  • 文件大小89 KB
  • 时间2018-07-17