怎么用指针给数组排序
时间: 2023-07-20 20:06:15 浏览: 50
可以使用指针来给数组排序,下面是一个示例代码:
```c
#include <stdio.h>
void sort(int *arr, int size)
{
int *p, *q, temp;
for (p = arr; p < arr + size; p++) {
for (q = p + 1; q < arr + size; q++) {
if (*p > *q) {
temp = *p;
*p = *q;
*q = temp;
}
}
}
}
int main()
{
int a[] = {3, 2, 1, 5, 4};
int i, size;
size = sizeof(a) / sizeof(a[0]);
printf("Before sorting: ");
for (i = 0; i < size; i++) {
printf("%d ", a[i]);
}
sort(a, size);
printf("\nAfter sorting: ");
for (i = 0; i < size; i++) {
printf("%d ", a[i]);
}
return 0;
}
```
在上面的代码中,我们定义了一个 `sort` 函数,它接受一个指向整型数组的指针和数组的大小作为参数。该函数使用两个指针 `p` 和 `q`,它们分别指向数组中的元素。在双重循环中,我们比较 `p` 和 `q` 指向的元素的大小,如果 `p` 指向的元素比 `q` 指向的元素大,则交换它们的值。最终,数组就被排序了。
在主函数中,我们定义了一个整型数组 `a`,然后计算出它的大小。我们调用 `sort` 函数,将数组名 `a` 作为参数传递给它。最后,我们输出排序前和排序后的数组元素。
相关推荐
![c](https://img-home.csdnimg.cn/images/20210720083646.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)