📌  相关文章
📜  C程序使用指针对数组进行排序

📅  最后修改于: 2021-05-25 21:32:33             🧑  作者: Mango

给定一个大小为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基础课程》。