欢迎来到天天文库
浏览记录
ID:52925293
大小:165.12 KB
页数:24页
时间:2020-04-01
《java笔试算法题及答案.pdf》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、1.现在输入n个数字,以逗号,分开;然后可选择升或者降序排序我的评论:本题的splitStringByComma(String)方法纯属多余,可以用String的split方法一句话代替,且可读性也更强,下面的一段话源自JDK1.6API,StringTokenizer类已不再提倡使用,保留仅为旧代码。StringTokenizer是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用String的split方法或java.util.regex包。importjava.util.*;publicclassbycomma{pu
2、blicstaticString[]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.nextToken()
5、;i++;}returnresult;}publicstaticvoidmain(Stringargs[]){String[]s=splitStringByComma("5,8,7,4,3,9,1");int[]ii=newint[s.length];for(inti=0;i6、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(strSrc==null){re7、turn0;}intlen=0;char[]strChar=strSrc.toCharArray();for(inti=0;i8、9、origin.equals("")10、11、len<1){return"";}if(len>lengths(origin)){returnorigin;}byte[]strByt12、e=newbyte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);intcount=0;for(inti=0;i13、bString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排序方法对left进行排序递归地使用快速排序方法对righ14、t进行排序
6、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(strSrc==null){re
7、turn0;}intlen=0;char[]strChar=strSrc.toCharArray();for(inti=0;i8、9、origin.equals("")10、11、len<1){return"";}if(len>lengths(origin)){returnorigin;}byte[]strByt12、e=newbyte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);intcount=0;for(inti=0;i13、bString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排序方法对left进行排序递归地使用快速排序方法对righ14、t进行排序
8、
9、origin.equals("")
10、
11、len<1){return"";}if(len>lengths(origin)){returnorigin;}byte[]strByt
12、e=newbyte[len];System.arraycopy(origin.getBytes(),0,strByte,0,len);intcount=0;for(inti=0;i13、bString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排序方法对left进行排序递归地使用快速排序方法对righ14、t进行排序
13、bString("我ABC汉DEF",6));}3、排序都有哪几种方法?请列举。用JAVA实现一个快速排序。排序的方法有:插入排序(直接插入排序、希尔排序),交换排序(冒泡排序、快速排序),选择排序(直接选择排序、堆排序),归并排序,分配排序(箱排序、基数排序)快速排序的伪代码。//使用快速排序方法对a[0:n-1]排序从a[0:n-1]中选择一个元素作为mIddle,该元素为支点把余下的元素分割为两段left和rIght,使得left中的元素都小于等于支点,而right中的元素都大于等于支点递归地使用快速排序方法对left进行排序递归地使用快速排序方法对righ
14、t进行排序
此文档下载收益归作者所有