数组的逆序

数组的逆序,第1张

数组逆序 思路

数组的左右两端依次交换,实现数组的逆序。

这里用了两种不同的方法,但是他们的思路是一样的。

代码实现:
void print(int* x, int n) 
{
    for (int i = 0; i < n; i++)
    {
        printf("%d ", x[i]);
    }
}
void reverse(int x[], int n) 
{
    int tmp,  i,  j, mid;
    mid = (n - 1) / 2;
    for (i=0; i <= mid; i++)
    {
        j = n - 1 - i;
        tmp = x[i];
        x[i] = x[j];
        x[j] = tmp;
    }
}
void reverse(int* x, int n) 
{
    int* p, tmp, * i, * j, mid;
    mid = (n - 1) / 2;
    i = x;
    j = x - 1 + n;
    p = x + mid;
    for (; i <= p; i++, j--)
    {
        tmp = *i;
        *i = *j;
        *j = tmp;
    }
}
void main()
{
    int a[10] = { 2,3,9,6,8,7,4,5,1,10 };
    reverse(a, 10);
    print(a, 10);
}

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5670515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存