给定一个大小为n的数组,任务是使用C中的指针对该数组进行排序。
例子:
Input: n = 5, arr[] = {0, 23, 14, 12, 9}
Output: {0, 9, 12, 14, 23}
Input: n = 3, arr[] = {7, 0, 2}
Output: {0, 2, 7}
方法:可以在指针的帮助下使用指向数组基地址的指针变量来获取数组。因此,为了使用指针对数组进行排序,我们需要使用(指针+索引)格式访问数组的元素。
下面是上述方法的实现:
程序:
#include
// Function to sort the numbers using pointers
void sort(int n, int* ptr)
{
int i, j, t;
// Sort the numbers using pointers
for (i = 0; i < n; i++) {
for (j = i + 1; j < n; j++) {
if (*(ptr + j) < *(ptr + i)) {
t = *(ptr + i);
*(ptr + i) = *(ptr + j);
*(ptr + j) = t;
}
}
}
// print the numbers
for (i = 0; i < n; i++)
printf("%d ", *(ptr + i));
}
// Driver code
int main()
{
int n = 5;
int arr[] = { 0, 23, 14, 12, 9 };
sort(n, arr);
return 0;
}
输出:
0 9 12 14 23
想要从精选的最佳视频中学习和练习问题,请查看《基础知识到高级C的C基础课程》。