c语言 定义两个函数:sort函数用于给一个数组按照升序排序,merge函数用于将数组a和数组b按次序合并到数组c中
时间: 2023-09-21 10:06:31 浏览: 115
好的,以下是两个函数的实现:
```c
// sort函数,使用冒泡排序法
void sort(int* arr, int n) {
int i, j;
for (i = 0; i < n-1; i++) {
for (j = 0; j < n-i-1; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
}
// merge函数,将数组a和数组b按次序合并到数组c中
void merge(int* a, int na, int* b, int nb, int* c) {
int i = 0, j = 0, k = 0;
while (i < na && j < nb) {
if (a[i] <= b[j]) {
c[k] = a[i];
i++;
} else {
c[k] = b[j];
j++;
}
k++;
}
while (i < na) {
c[k] = a[i];
i++;
k++;
}
while (j < nb) {
c[k] = b[j];
j++;
k++;
}
}
```
sort函数使用冒泡排序法,时间复杂度为O(n^2);merge函数使用归并排序的思想,时间复杂度为O(n log n)。
阅读全文