题目是:
给1000个int整数(有可能是负数)排序,只能用一个只可以存放10个数的array或者是list,可以用一些局部变量,不能再用其它array或collection等。
要求:
1.随机产生这1000个int整数,打印这1000个int整数及排好序后的结果。
2.计算统计所有比较的次数,并要求尽可能的减少比较次数。
给1000个int整数(有可能是负数)排序,只能用一个只可以存放10个数的array或者是list,可以用一些局部变量,不能再用其它array或collection等。
要求:
1.随机产生这1000个int整数,打印这1000个int整数及排好序后的结果。
2.计算统计所有比较的次数,并要求尽可能的减少比较次数。
放String里吧
用个字符隔开,每10个一隔开,每100个再隔开。
private int data;
private MyBinaryTree leftpoiter;
private MyBinaryTree rightpoiter; public MyBinaryTree(int data) {
this.data = data;
leftpoiter = null;
rightpoiter = null;
} public void printMidOrder(MyBinaryTree mbt) {
if (mbt != null) {
printMidOrder(mbt.getLeftpoiter());
System.out.print(mbt.getData() + ",");
printMidOrder(mbt.getRightpoiter());
}
} public int getData() {
return data;
} public void setData(int data) {
this.data = data;
} public MyBinaryTree getLeftpoiter() {
return leftpoiter;
} public void setLeftpoiter(MyBinaryTree leftpoiter) {
this.leftpoiter = leftpoiter;
} public MyBinaryTree getRightpoiter() {
return rightpoiter;
} public void setRightpoiter(MyBinaryTree rightpoiter) {
this.rightpoiter = rightpoiter;
} public void insertTree(MyBinaryTree root, int data) {
if (data >= root.data) {
if (root.rightpoiter == null) {
root.rightpoiter = new MyBinaryTree(data);
} else {
insertTree(root.rightpoiter, data);
}
} else {
if (root.leftpoiter == null) {
root.leftpoiter = new MyBinaryTree(data);
} else {
insertTree(root.leftpoiter, data);
}
}
}
}
Random ran = new Random();
int int1 = ran.nextInt(1000);
String str1 = int1 + "";
MyBinaryTree mbt = new MyBinaryTree(int1);
for (int i = 0; i < 999; i++) {
int int2 = ran.nextInt(1000);
mbt.insertTree(mbt, int2);
str1 = str1 + ",";
str1 = str1 + int2;
}
System.out.println(str1);
mbt.printMidOrder(mbt);
}}