java编写程序,定义一个2行10列的数组,将数组第一行的数据从小到大排列,第二行数据从大到
4个回答
展开全部
public static void main(String[] args){
final int row = 2;
final int col = 10;
int[][] a = new int[row][col];
// 建一个用时间做种子的随机器
Random rand = new Random(System.nanoTime());
// 随机初始化数组
for (int i = 0; i < row; ++i) {
for (int j = 0; j < col; ++j) {
a[i][j] = rand.nextInt();
} // end for
} // end for
// 升序排列第一行
Arrays.sort(a[0]);
// 没有直接的降序函数可供调用
// 先升序排列第二行
Arrays.sort(a[1]);
// 再交换第二行中的对应元素即为降序
int temp;
final int maxIndex = a[1].length - 1; // 第二列的最大索引
for (int i = 0; i <= maxIndex / 2; ++i) {
temp = a[1][i];
a[1][i] = a[1][maxIndex - i];
a[1][maxIndex - i] = temp;
} // end for
System.out.println(Arrays.toString(a[0]));
System.out.println(Arrays.toString(a[1]));
}
你可以自己初始化数组,这里初始化为随机数是为了测试
展开全部
// 冒泡排序, 每次冒泡一个最大的到后面
static void bubbleSort(int[] array) {
for (int j = 0; j < array.length - 1; j++) {
for (int i = 0; i < array.length - 1 - j; i++) {
if (array[i] > array[i + 1]) {
swap(array, i, i + 1);
}
}
}
}
// 选择排序, 每次选择一个最小的换到前面
static void selectSort(int[] array) {
for (int j = 0; j < array.length - 1; j++) {
for (int i = j; i < array.length; i++) {
if (array[i] < array[j]) {
swap(array, i, j);
}
}
}
}
自己传参数进去第一个方法降序,第二个方法升序
static void bubbleSort(int[] array) {
for (int j = 0; j < array.length - 1; j++) {
for (int i = 0; i < array.length - 1 - j; i++) {
if (array[i] > array[i + 1]) {
swap(array, i, i + 1);
}
}
}
}
// 选择排序, 每次选择一个最小的换到前面
static void selectSort(int[] array) {
for (int j = 0; j < array.length - 1; j++) {
for (int i = j; i < array.length; i++) {
if (array[i] < array[j]) {
swap(array, i, j);
}
}
}
}
自己传参数进去第一个方法降序,第二个方法升序
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以使用集合吗?
public static void main(String[] args) {
int[][] numbers = {
{1,2},
{3,4},
{5,6},
{7,8},
{9,10}};
int len = numbers.length;
Integer[] front = new Integer[len];
Integer[] later = new Integer[len];
int[] itemNums;
for(int i = 0; i < numbers.length; i++){
itemNums = numbers[i];
front[i] = itemNums[0];
later[i] = itemNums[1];
}
Arrays.sort(front);
Arrays.sort(later, new Comparator<Integer>(){
@Override
public int compare(Integer o1, Integer o2) {
return o2 < o1 ? 1 : (o2 == o1 ? 0 : -1);
}
});
for(int i = 0; i < numbers.length; i++){
numbers[i][0] = front[i];
numbers[i][1] = later[i];
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询