功能:编写函数用排序法对数组中的数据进行从小到 大的排序。 ------------------------------------------------*/ #include <stdlib.h> #include<stdio.h> void sort(int a[],int n) { /**********Program**********/ /********** End **********/ } main() { int a[16],i; for(i=0;i<16;i++) a[i]=rand()%100; for(i=0;i<16;i++) printf("%4d",a[i]); printf("\n-------------------\n"); sort(a,16); for(i=0;i<16;i++) printf("%4d",a[i]); }
时间: 2023-07-23 12:39:46 浏览: 77
这段代码实现了一个随机生成16个整数的数组,并通过调用函数sort对数组进行从小到大的排序,最后输出排序后的数组。
函数sort的实现可以使用冒泡排序、选择排序、插入排序等方法。以下是使用冒泡排序实现的代码:
```
void sort(int a[], int n) {
int i, j, temp;
for (i = 0; i < n - 1; i++) {
for (j = 0; j < n - i - 1; j++) {
if (a[j] > a[j + 1]) {
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
}
```
该函数使用两层循环,每次比较相邻两个元素的大小,如果前一个元素大于后一个元素,则交换它们的位置。经过一轮循环后,最大的元素会被移动到数组的末尾,下一轮循环就不需要再去比较末尾的元素了。通过多轮循环,最终可以实现对数组的排序。
相关问题
c语言,编写函数用排序法对数组中的数据进行从小到大的排序
以下是用选择排序算法对数组进行从小到大排序的C语言代码:
```c
void selectionSort(int arr[], int n) {
int i, j, min_idx;
// One by one move boundary of unsorted subarray
for (i = 0; i < n-1; i++) {
// Find the minimum element in unsorted array
min_idx = i;
for (j = i+1; j < n; j++)
if (arr[j] < arr[min_idx])
min_idx = j;
// Swap the found minimum element with the first element
int temp = arr[min_idx];
arr[min_idx] = arr[i];
arr[i] = temp;
}
}
```
然后,你可以在主函数中调用这个函数,如下所示:
```c
int main() {
int arr[] = {64, 25, 12, 22, 11};
int n = sizeof(arr)/sizeof(arr[0]);
selectionSort(arr, n);
printf("Sorted array: ");
printArray(arr, n);
return 0;
}
```
其中,`printArray` 函数是用来打印数组的函数,可以自行编写。
编写函数用冒泡排序法对数组中的数据进行从小到大的排序
以下是用Python语言编写的冒泡排序函数,可以实现对数组中的数据进行从小到大的排序:
```python
def bubble_sort(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]
return arr
```
其中,arr为待排序的数组,n为数组的长度。在函数中,使用了两层循环,外层循环控制排序的轮数,内层循环用于比较相邻的元素并进行交换。如果前一个元素比后一个元素大,则交换它们的位置,这样每一轮排序都会将最大的元素“冒泡”到数组的末尾。最终,经过n轮排序后,数组中的元素就会按照从小到大的顺序排列。
阅读全文