编写函数,可以对任意一维数组进行降序排序。在主函数中随机生成一有N个元素的一维数组(元素的取值范围载10-90之间),调用排序函数对该数组进行排序,并输出排序结果。
时间: 2023-11-22 10:56:05 浏览: 28
以下是一个实现该功能的 Python 代码:
```python
import random
def bubble_sort_descend(arr):
"""
冒泡排序降序实现
"""
n = len(arr)
for i in range(n):
for j in range(n-i-1):
if arr[j] < arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 生成随机数组
N = 10
arr = [random.randint(10, 90) for i in range(N)]
# 输出原始数组
print("原始数组:", arr)
# 排序
bubble_sort_descend(arr)
# 输出排序后的数组
print("排序后:", arr)
```
该代码使用冒泡排序算法实现了对一维数组的降序排序。在主函数中,我们首先生成了一个由N个元素组成、元素范围为10-90之间的随机数组,然后调用排序函数bubble_sort_descend对该数组进行排序。最后,我们输出排序后的结果。
相关问题
将冒泡排序改造成函数,实现对一个一维数组中的元素进行排序
好的,可以的。以下是将冒泡排序改造成函数的代码实现:
```python
def bubble_sort(arr):
n = len(arr)
# 遍历所有数组元素
for i in range(n):
# 最后 i 个元素已经排好序,不必再遍历
for j in range(0, n-i-1):
# 如果当前元素大于下一个元素,则交换它们的位置
if arr[j] > arr[j+1]:
arr[j], arr[j+1] = arr[j+1], arr[j]
# 测试代码
arr = [64, 34, 25, 12, 22, 11, 90]
bubble_sort(arr)
print("排序后的数组:")
for i in range(len(arr)):
print("%d" %arr[i])
```
代码中,我们将冒泡排序封装成一个名为`bubble_sort`的函数,函数接收一个一维数组作为参数,实现对数组中的元素进行排序。内部实现和常规冒泡排序一样,但最终把排序好的数组返回。
测试代码中,我们创建一个数组`arr`并调用`bubble_sort`函数,得到排序后的数组。最后打印出排序后的结果。
利用c++,编写一个函数求一维数组a[n]中所有元素平方和
以下是用 C++ 编写一个函数,计算一维数组 a[n] 中所有元素的平方和。
```c++
#include <iostream>
using namespace std;
int squareSum(int a[], int n) {
int sum = 0;
for (int i = 0; i < n; i++) {
sum += a[i] * a[i];
}
return sum;
}
int main() {
int a[] = {1, 2, 3, 4, 5};
int n = sizeof(a)/sizeof(a[0]);
int result = squareSum(a, n);
cout << "平方和为:" << result << endl;
return 0;
}
```
函数 `squareSum` 接收两个参数:一个整型数组 `a` 和数组的长度 `n`。在函数中,我们使用一个循环遍历数组中的所有元素,将每个元素的平方加到 `sum` 变量中。最后,函数返回 `sum` 的值。
在主函数中,我们定义了一个整型数组 `a`,并初始化了它的值。然后我们调用 `squareSum` 函数,并将结果存储在 `result` 变量中。最后,我们输出结果。
输出结果应该是:
```
平方和为:55
```