编写一个函数实现一维数组的元素从小到大排列
时间: 2023-04-28 07:01:40 浏览: 267
以下是一个实现一维数组元素从小到大排列的函数:
```python
def sort_array(arr):
for i in range(len(arr)):
for j in range(i+1, len(arr)):
if arr[i] > arr[j]:
arr[i], arr[j] = arr[j], arr[i]
return arr
```
该函数使用了冒泡排序算法,通过比较相邻元素的大小,将较大的元素向后移动,最终实现了数组元素从小到大排列的效果。
相关问题
编写一个函数,该函数可以传入一个任意长度的一维整型数组,并且将该整型函数里所有元素按照从小到大的顺序进行排列。请在主函数中声明一个一维整型数组并赋初值,调用编写好的函数将该数组进行排序后按照下标从小到大的顺序将数组的成员依次输出屏幕上
当然,我们可以使用Python内置的`sorted()`函数来对一维整型数组进行升序排序。下面是一个简单的例子,包括了一个主函数来创建数组、调用排序函数以及输出排序后的结果:
```python
def sort_array(arr):
"""
对输入的一维整型数组进行升序排序
:param arr: 一维整型数组
:return: 排序后的数组
"""
return sorted(arr)
def print_sorted_array(arr):
"""
输出排序后数组的元素及其索引
:param arr: 排序后的数组
"""
for index, value in enumerate(arr):
print(f"元素值: {value}, 下标: {index}")
# 主函数
if __name__ == "__main__":
# 创建并初始化一维整型数组
input_array = [5, 3, 9, 1, 7]
# 调用排序函数
sorted_arr = sort_array(input_array)
# 输出排序后的数组及对应的下标
print_sorted_array(sorted_arr)
```
当你运行这个程序,它会输出以下内容:
```
元素值: 1, 下标: 0
元素值: 3, 下标: 1
元素值: 5, 下标: 2
元素值: 7, 下标: 3
元素值: 9, 下标: 4
```
请编写函数 fun 该函数的功能是:移动一维数组中的内容;若数组中有10个整数,要求把下标从0到p(p 小于等于9)的数组元素平移到数组的最后。在主程序中调用该函数,得到调整后的新数组的倒数三个数组元素的值并从小到大排列输出到屏幕上。
根据您的要求,我为您编写了以下的函数fun,该函数可以移动一维数组中的内容,具体如下所示:
```c
#include <stdio.h>
void fun(int arr[], int p){
int i, temp;
for(i = 0; i <= p; i++){
temp = arr[i];
arr[i] = arr[i + 10 - p - 1];
arr[i + 10 - p - 1] = temp;
}
}
int main(){
int arr[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
int p = 5; // 假设要移动的下标为5
fun(arr, p);
int i;
// 输出倒数三个元素的值
for(i = 7; i < 10; i++){
printf("%d ", arr[i]);
}
printf("\n");
// 对倒数三个元素的值进行从小到大排序
for(i = 7; i < 9; i++){
int j;
for(j = i + 1; j < 10; j++){
if(arr[i] > arr[j]){
int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
}
}
}
// 再次输出倒数三个元素的值
for(i = 7; i < 10; i++){
printf("%d ", arr[i]);
}
printf("\n");
return 0;
}
```
在主函数中,我们首先定义了一个长度为10的数组arr,然后调用函数fun,将下标0到p的元素移动到了数组的最后面。接着,我们输出了倒数三个元素的值并且对这三个元素进行了从小到大的排序,最后再次输出这三个元素的值。
阅读全文