网站首页 网站地图
网站首页 > 伤心文案 > 键盘输入的数组怎么逆向排序?

键盘输入的数组怎么逆向排序?

时间:2025-04-01 20:47:34

一、Python实现

Python提供了简洁的内置函数和切片操作,可快速实现数组逆序。

方法1:使用`reverse()`方法

```python

输入数组长度

n = int(input("请输入数组长度: "))

输入数组元素

array = list(map(int, input("请输入数组元素,用空格分隔: ").split()))

逆序排列

array.reverse()

输出结果

print("逆序后的数组:", array)

```

方法2:使用切片操作

```python

输入数组元素

array = list(map(int, input("请输入数组元素,用空格分隔: ").split()))

逆序排列(切片操作)

reversed_array = array[::-1]

输出结果

print("逆序后的数组:", reversed_array)

```

二、C语言实现

C语言需手动交换数组元素,通常使用指针或循环实现。

方法1:使用循环交换元素

```c

include

void reverseArray(int arr[], int n) {

for (int i = 0; i < n / 2; i++) {

int temp = arr[i];

arr[i] = arr[n - i - 1];

arr[n - i - 1] = temp;

}

}

int main() {

int n, i;

printf("请输入数组长度: ");

scanf("%d", &n);

int arr[n];

printf("请输入 %d 个整数: ", n);

for (i = 0; i < n; i++) {

scanf("%d", &arr[i]);

}

reverseArray(arr, n);

printf("逆序后的数组: ");

for (i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

```

方法2:使用指针交换

```c

include

void reverseArray(int *arr, int n) {

int *start = arr;

int *end = arr + n - 1;

while (start < end) {

int temp = *start;

*start = *end;

*end = temp;

start++;

end--;

}

}

int main() {

int n, i;

printf("请输入数组长度: ");

scanf("%d", &n);

int arr[n];

printf("请输入 %d 个整数: ", n);

for (i = 0; i < n; i++) {

scanf("%d", &arr[i]);

}

reverseArray(arr, n);

printf("逆序后的数组: ");

for (i = 0; i < n; i++) {

printf("%d ", arr[i]);

}

printf("\n");

return 0;

}

```

三、Java实现

Java中可以使用`Arrays.sort()`方法配合自定义比较器实现逆序排序。

```java

import java.util.Arrays;

import java.util.Collections;

import java.util.Scanner;

public class ReverseArray {

public static void main(String[] args) {

Scanner scanner = new Scanner(System.in);

// 输入数组长度

System.out.print("请输入数组长度: ");

int n = scanner.nextInt();

int[] array = new int[n];

System.out.println("请输入数组元素,用空格分隔: ");

for (int i = 0; i < n; i++) {

array[i] = scanner.nextInt();

}

// 使用Arrays.sort()逆序排序

Arrays.sort(array, Collections.reverseOrder());

// 输出结果

System.out.println("逆序后的数组: " + Arrays.toString(array));

scanner.close();

}

}

```

总结

Python:推荐使用切片操作或内置函数,代码简洁且易读。

C语言:需手动交换元素,推荐使用指针或循环优化效率。

Java:利用`Arrays.sort()`方法,通过`Collections.reverseOrder()`实现逆序。

根据具体需求选择合适的语言实现即可。