C语言使用指针对一维数组进行升序选择排序
时间: 2023-07-24 12:12:13 浏览: 155
好的,下面是使用指针对一维数组进行升序选择排序的C语言代码实现:
```c
#include <stdio.h>
void selection_sort(int *arr, int len) {
int *p, *q, *min, temp;
for (p = arr; p < arr + len - 1; p++) {
min = p;
for (q = p + 1; q < arr + len; q++) {
if (*q < *min) {
min = q;
}
}
if (min != p) {
temp = *min;
*min = *p;
*p = temp;
}
}
}
int main() {
int a[6] = {5, 7, 3, 9, 2, 4};
int i;
selection_sort(a, 6);
for (i = 0; i < 6; i++) {
printf("%d ", a[i]);
}
printf("\n");
return 0;
}
```
输出结果为:2 3 4 5 7 9。
这个选择排序的实现过程与一般的选择排序相同,只是使用了指针来操作数组元素。在选择排序的过程中,每次都找到当前未排序范围中的最小元素,然后与当前位置的元素交换。我们使用指针来记录最小元素的位置,然后通过指针来交换元素的值。
希望能帮到你,如果还有其他问题或疑问,欢迎继续提问。
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![-](https://img-home.csdnimg.cn/images/20241231044955.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)