第1题:
交换类排序法是指借助数据元素之间的______进行排序的一种方法。
第2题:
希尔排序法属于______类型的排序法。
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
第3题:
以下排序技术中属于交换类排序法的有________,属于插入类排序法的有________,属于选择类排序法的有________。 Ⅰ.简单插入排序 Ⅱ.冒泡排序 Ⅲ.希尔排序 Ⅳ.堆排序 Ⅴ.快速排序 Ⅵ.简单选择排序
Ⅱ Ⅴ
Ⅲ
Ⅳ Ⅵ
第4题:
排序都有哪几种方法?请列举。用JAVA实现一个快速
排序。
本人只研究过冒泡排序、选择排序和快速排序,下面是快速排序的代码:
public class QuickSort {
/**
* 快速排序
* @param strDate
* @param left
* @param right
*/
public void quickSort(String[] strDate,int left,int right){
String middle,tempDate;
int i,j;
i=left;
j=right;
middle=strDate[(i+j)/2];
do{
while(strDate[i].compareTo(middle)<0&& i<right)
i++; //找出左边比中间值大的数
while(strDate[j].compareTo(middle)>0&& j>left)
j--; //找出右边比中间值小的数
if(i<=j){ //将左边大的数和右边小的数进行替换
tempDate=strDate[i];
strDate[i]=strDate[j];
strDate[j]=tempDate;
i++;
j--;
}
}while(i<=j); //当两者交错时停止
if(i<right){
quickSort(strDate,i,right);//从
}
if(j>left){
quickSort(strDate,left,j);
}
}
/**
* @param args
*/
public static void main(String[] args){
String[] strVoid=new String[]{"11","66","22","0","55","22","0","32"};
QuickSort sort=new QuickSort();
sort.quickSort(strVoid,0,strVoid.length-1);
for(int i=0;i<strVoid.length;i++){
System.out.println(strVoid[i]+" ");
}
}
}
7、有数组a[n],用java 代码将数组元素顺序颠倒
package cn.itcast.lecture2;
import java.util.Arrays;
import java.util.Collections;
public class ReverseTest {
public static void main(String [] args)
{
//产生若干0到1000的随机数,作为数组的初始值
int data[] = new int[]{
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 1000),
(int)(Math.random() * 100),
};
System.out.println(Math.random());
System.out.print("交换前的数据:");
System.out.println(
Arrays.toString(data));
reverse(data);
System.out.print("交换后的数据:");
System.out.println(Arrays.toString(data));
}
//方法执行完后,参数data中的数据顺序即被颠倒
//实现思路是第1个和第n个交换,第2个和第n-1个交换,依次类推...
public static void reverse(int[] data)
{
int len = data.length;
for(int i=0;i<len/2;i++)
{
int temp = data[i];
data[i] = data[len-1-i];
data[len-1-i] = temp;
}
}
}
2.金额转换,阿拉伯数字的金额转换成中国传统的形式如:
(¥1011)->(一千零一拾一元整)输出。
public class RenMingBi {
/**
* @param args add by zxx ,Nov 29, 2008
*/
private static final char[] data = new char[]{
'零','壹','贰','叁','肆','伍','陆','柒','捌','玖'
};
private static final char[] units = new char[]{
'元','拾','佰','仟','万','拾','佰','仟','亿'
};
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println(
convert(135689123));
}
public static String convert(int money)
{
StringBuffer sbf = new StringBuffer();
int unit = 0;
while(money!=0)
{
sbf.insert(0,units[unit++]);
int number = money%10;
sbf.insert(0, data[number]);
money /= 10;
}
return sbf.toString();
}
}
第5题:
希尔排序法属于哪个类型的排序法。
A.交换类排序法
B.插入类排序法
C.选择类排序法
D.建堆排序法
第6题:
● 在Access中,下列关于排序的说法,不正确的是 (68) 。
A.记录可以按升序或降序方式排序
B.排序操作不会修改表中的数据
C.对所有的数据类型都能进行排序操作
D.记录可以按多个字段排序
第7题:
A、Arrays类用于对数组进行排序和搜索的类
B、Arrays类提供了sort()和binarySearch()的方法
C、Arrays类是自定义的可以实现排序和查找的操作类
D、Arrays类定义在java.util包中
第8题:
在J2EE中,下列元素经过排序的集合类是()。
A.LinkedList
B.Stack
C.Hashtable
D.TreeSet
第9题:
下列叙述中错误的是( )。
A.冒泡排序属于交换类排序
B.快速排序属于选择类排序
C.堆排序属于选择类排序
D.希尔排序属于插入排序
第10题:
对已经设置排序或分组的报表,下列说法正确的是( )。
A.可以进行删除排序、分组字段或表达式的操作,不能进行添加排序、分组字段或表达式的操作
B.可以进行添加和删除排序、分组字段或表达式的操作,不能进行修改排序、分组字段或表达式的操作
C.可以进行修改排序、分组字段或表达式的操作,不能进行删除排序、分组字段或表达式的操作
D.进行添加、删除和更改排序、分组字段或表达式的操作