先上代码:
/**
* @param nums* @param index1
* @param index2
*/
public static void sort(int[]sorts,int index1,int index2) {
if(sorts[index1]>sorts[index2]) {
sorts[index2]=sorts[index1];
index1++;
index2++;
if(sorts.length>index2)
sort(sorts,index1,index2);
}
}
这里使用递归进行循环比较,进行升序排序,当然也可以进行逆序排序,这里就不实现了。其实这只是一个即兴代码的副产品,我一开始是打算找出一个不知道每个数组长度是多少的二维数组中最长的数组,然后进行赋0/null使之成为矩形二位数组然后进行数组置换的,关键代码如下:
/**
* 找出二位数组中最长的数组
* @param nums
* @param index1
* @param index2
*/
public static void show(int[][]nums,int index1,int index2) {
if(nums[index1].length>nums[index2].length) {
nums[index2]=nums[index1];
index1++;
index2++;
if(nums.length>index2) {
show(nums,index1,index2);
}
}
}
/**
* 将数组长度较短的数组nums2强制提升至nums1的长度并返回
* 实现步骤:不足位补0/null
*/
public static int[] changeArray(int[]nums1,int[]nums2) {
int[]nums=new int[nums1.length];
for(int i=0;i<nums.length;i++) {
if(i<=nums2.length) {
nums[i]=nums2[i];
}else {
nums[i]=0;
}
}
return nums;
}
至于省不省代码什么的我就不知道了,反正觉得挺有意思,有兴趣的可以敲一下。