欢迎来到天天文库
浏览记录
ID:9533015
大小:106.50 KB
页数:17页
时间:2018-05-03
《java笔试算法题及答案》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序我的评论:本题的splitStringByComma(String)方法纯属多余,可以用String的split方法一句话代替,且可读性也更强,下面的一段话源自JDK1.6API,StringTokenizer类已不再提倡使用,保留仅为旧代码。StringTokenizer是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用String的split方法或java.util.regex包。importjava.util.*;publicclassbycomm
2、a{publicstaticString[]splitStringByComma(Stringsource){if(source==null
3、
4、source.trim().equals(""))returnnull;StringTokenizercommaToker=newStringTokenizer(source,",");String[]result=newString[commaToker.countTokens()];inti=0;while(commaToker.hasMoreTokens()){result[i]=commaToker.nex
5、tToken();i++;}returnresult;}publicstaticvoidmain(Stringargs[]){String[]s=splitStringByComma("5,8,7,4,3,9,1");int[]ii=newint[s.length];for(inti=0;i6、i=(s.length-1);i>=0;i--){System.out.println(ii[i]);}}}2.编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。代码:publicstaticbooleanisLetter(charc){intk=0X80;returnc/k==0?true:false;}publicstaticintlengths(StringstrSrc){if(7、strSrc==null){return0;}intlen=0;char[]strChar=strSrc.toCharArray();for(inti=0;i8、9、origin.equals("")10、11、len<1){return"";}if(len>lengths(origin)){return12、origin;}byte[]strByte=newbyte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);intcount=0;for(inti=0;i13、System.out.println(""+subString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排14、序方法对left进行排序递归地使用快速排序方法对right进行排序
6、i=(s.length-1);i>=0;i--){System.out.println(ii[i]);}}}2.编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个"。代码:publicstaticbooleanisLetter(charc){intk=0X80;returnc/k==0?true:false;}publicstaticintlengths(StringstrSrc){if(
7、strSrc==null){return0;}intlen=0;char[]strChar=strSrc.toCharArray();for(inti=0;i8、9、origin.equals("")10、11、len<1){return"";}if(len>lengths(origin)){return12、origin;}byte[]strByte=newbyte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);intcount=0;for(inti=0;i13、System.out.println(""+subString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排14、序方法对left进行排序递归地使用快速排序方法对right进行排序
8、
9、origin.equals("")
10、
11、len<1){return"";}if(len>lengths(origin)){return
12、origin;}byte[]strByte=newbyte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);intcount=0;for(inti=0;i13、System.out.println(""+subString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排14、序方法对left进行排序递归地使用快速排序方法对right进行排序
13、System.out.println(""+subString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排
14、序方法对left进行排序递归地使用快速排序方法对right进行排序
此文档下载收益归作者所有