用C语言定义选择排序函数。实参数指针,形参指针
时间: 2023-11-02 21:01:12 浏览: 42
以下是用 C 语言定义选择排序函数,形参为指针类型:
```c
void selectionSort(int* arr, int size) {
int i, j, min_idx, temp;
for (i = 0; i < size-1; i++) {
min_idx = i;
for (j = i+1; j < size; j++) {
if (*(arr+j) < *(arr+min_idx)) {
min_idx = j;
}
}
temp = *(arr+i);
*(arr+i) = *(arr+min_idx);
*(arr+min_idx) = temp;
}
}
```
在函数中,我们使用指针来访问数组元素。参数 `arr` 是一个指向整型数组的指针,`size` 表示数组的大小。在函数中,我们使用指针 `arr` 来访问数组元素,即 `*(arr+i)` 表示数组的第 `i` 个元素。
相关问题
C语言定义选择排序函数。实参数指针,形参指针
以下是使用指针实现选择排序的C语言代码:
```
void selectionSort(int *arr, int n) {
int i, j, min_idx;
for (i = 0; i < n-1; i++) {
min_idx = i;
for (j = i+1; j < n; j++) {
if (*(arr+j) < *(arr+min_idx)) {
min_idx = j;
}
}
int temp = *(arr+i);
*(arr+i) = *(arr+min_idx);
*(arr+min_idx) = temp;
}
}
```
在这个函数中,`arr` 是指向整型数组的指针,`n` 是数组元素的数量。使用 `*(arr+i)` 表示数组中第 `i` 个元素的值,`*(arr+min_idx)` 表示当前未排序部分中的最小元素的值。函数内部使用双重循环,每次从未排序部分中找到最小元素,并将其与当前未排序部分的第一个元素交换。最终,数组将按升序排列。
C语言:定义冒泡排序函数。实参数组名,形参指针
以下是使用指针作为形参,实现冒泡排序的C语言函数:
```c
void bubble_sort(int *arr, int len) {
int i, j, temp;
for (i = 0; i < len - 1; i++) {
for (j = 0; j < len - 1 - i; j++) {
if (*(arr + j) > *(arr + j + 1)) {
temp = *(arr + j);
*(arr + j) = *(arr + j + 1);
*(arr + j + 1) = temp;
}
}
}
}
```
此函数接受一个整型数组的指针和数组长度作为参数,使用指针来操作数组元素,实现冒泡排序。