美文网首页
将一个数组中的元素头尾两端依次对调

将一个数组中的元素头尾两端依次对调

作者: 来智慧 | 来源:发表于2017-08-31 18:31 被阅读0次
/*************************************************************************
    > File Name: myswap.c
    > Author: 
    > Mail: 
    > Created Time: Thu 31 Aug 2017 03:18:50 AM PDT
 ************************************************************************/
#include<stdio.h>

void inplace_swap(int *x, int *y)
{
    *y = *x ^ *y;
    *x = *x ^ *y;
    *y = *x ^ *y;
}

void reverse_array(int a[], int cnt)
{
    int first, last;

    for(first = 0, last = cnt - 1; first <= last; first++, last--){
        inplace_swap(&a[first], &a[last]);
    }
}

int main(void)
{
    int i;
    int array[] = {14, 28, 40, 92, 95, 20, 13, 44, 70, 14};
    int length = sizeof(array) / sizeof(array[0]);
    
    reverse_array(array, length);

    for(i = 0; i < length; i++)
    {
        printf("%d ", array[i]);
    }
    printf("\n");
    
    return 0;
}

相关文章

  • 将一个数组中的元素头尾两端依次对调

  • 选择排序OC

    算法的个人理解: 实现思路是从数组中取出每一个元素,依次和数组中剩余的元素进行比较,找出数组中最大或者最小的...

  • 【JavaScript】Array every() 方法

    every()方法是js中的迭代方法,用于检测数组中的元素是否满足指定条件。1、依次执行数组元素,如果一个元素不满...

  • 【JavaScript】Array some() 方法

    some()方法是js中的迭代方法,用于检测数组中的元素是否满足指定条件。1、依次执行数组元素,如果一个元素满足条...

  • NO.32 数组的遍历与获取最值问题

    数组遍历:就是依次输出数组中的每一个元素。(运用for循环) 数组的属性:arr.length数组的长度 数组的最...

  • JS 中的 Array.reduce() 如何使用

    reduce() 方法对数组中的每一个元素依次执行传入的回调函数,最后将结果汇总并返回。array.reduce(...

  • reduce,some,every函数的用法

    reduce reduce-MDN 描述 reduce为数组中的每一个元素依次执行callback函数,不包括数组...

  • 直接插入排序

    1、核心思想 将数组中的所有元素依次跟前面已经排好的元素相比较,如果选择的元素比已排序的元素小,则交换,直到全部元...

  • 冒泡排序及其优化

    冒泡排序原理:通过交换相邻元素,来将未排序中最大(小)元素依次“冒泡”到数组最后方。最原始的冒泡排序: 从代码中我...

  • 常见排序算法(二) 插入排序

    1、直接插入排序 算法思想若下个升序排序,将数组中的元素依次与前面的元素(前面的元素已是排序好的状态)进行比较,找...

网友评论

      本文标题:将一个数组中的元素头尾两端依次对调

      本文链接:https://www.haomeiwen.com/subject/pyccjxtx.html