深入理解计算机系统第二章p35页, 也是常见的面试题目,即不用第三个变量,实时交换二个数的值。利用对于数组元素个数为 偶数时,交换两端数组元素代码,当数组元素个数为奇数时,中间的元素将变为0,只需要将first<=last,改为first<last即可实现数组交换两端元素

#include<stdio.h>
void inplace_swap(int *x,int *y)
{
  *x = *x ^ *y;
  *y = *x ^ *y;
  *x = *x ^ *y;
}

void reverse_array(int a[],int cnt)
{
  int first,last;
  for(first = 0,last = cnt-1; first<=last;first++,last--)  //将红色的代码改为first<last,即可
  inplace_swap(&a[first],&a[last]);
}
int main()
{
       int b[ ] = {1,2,3,4}; //定义一个数组
       int c ;
  int i;
  c= sizeof(b)/sizeof(b[0]); //求数字元素的个数,注意不是sizeof(a),这样求的是数组的长度,而不是元素个数
         reverse_array(b,c);//函数调用
 for(i=0;i<c;i++)
 {
   printf("%d",b[i]);
 }
  printf("\n");

return 0;
}

转载于:https://www.cnblogs.com/riasky/p/3464994.html

实现数组头尾两端元素对调代码相关推荐

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

    void reverse_array(int a[],int cnt){int first,last;for (first = 0,last = cnt - 1;first < last;fir ...

  2. JavaScript | 声明数组并使用数组索引分配元素的代码

    Declare an array, assign elements by indexes and print all elements in JavaScript. 声明一个数组,通过索引分配元素,并 ...

  3. 找出所有不是这两个数组共有的元素

    文章目录 引入 代码 运行测试 引入 找出不是两个数组共有的元素.输入一个正整数 n(1<n≤10),再输入 n 个整 数,存入第 1 个数组中:然后输入一个正整数 m(1<m<=1 ...

  4. 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。(js代码)

    1.题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的 ...

  5. 如何统计二维或者多维空间/二维数组中重复元素的数量/计数?numpy一行代码就行了

    文章目录 1. 问题说明 2. 解决之道 3. 向原作者致敬 Reference 1. 问题说明 统计一维数组中重复元素的数量是个常见的问题,那么拓展到二维或者更高维度,这个问题依然是常见的.有什么方 ...

  6. Python 将列表中的头尾两个元素对调

    https://www.runoob.com/python3/python-list-interchange.html 定义一个列表,并将列表中的头尾两个元素对调. 例如: 对调前 : [1, 2, ...

  7. python匿名基数(lamdba):给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True;如果数组中每个元素互不相同,返回False,用一行代码解决

    """ 给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True:如果数组中每个元素互不相同,返回False,用一行代码解决 例: nums = [1,2, ...

  8. python指定元素对调_Python 将列表中的头尾两个元素对调

    Python 将列表中的头尾两个元素对调 定义一个列表,并将列表中的头尾两个元素对调. 例如:对调前 : [1, 2, 3] 对调后 : [3, 2, 1]def swapList(newList): ...

  9. 【Java】数组逆序操作。定义长度为10的数组,将数组元素对调并输出对调后的结果。

    题目:数组逆序操作.定义长度为10的数组,将数组元素对调并输出对调后的结果. 思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2元素交换--只要交换到arr.len ...

  10. java输出数组中的元素_java一行代码输出数组的所有元素内容

    如果要用java把一个数组的元素都输出到控制台的话,你要怎么做呢? 是通过一个循环去循环数组中的各个元素,然后输出吗? 像不像二维数组 今天我要说的是,可以通过一行代码就完成这个工作.是一样什么样的代 ...

最新文章

  1. centos 安装 mysql 5.7
  2. mongodb 用户 设计_MongoDB 是什么?看完你就知道了
  3. 如何在html中写javascript代码,如何在本地html代码中使用javascript脚本
  4. SQL盲注工具BBQSQL
  5. 64位汇编之linux系统调用
  6. GIT 源码管理-简介
  7. layui中onchange失效以及form动态渲染失效的问题
  8. python整数逆序输出_利用Python实现倒序任意整数
  9. HTTP/2 协议入门
  10. laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
  11. ASP.NET文件夹
  12. 苹果官宣春季发布会!不止有iPhone SE 3,还有紫色iPhone 13 Pro?
  13. 算法设计 分治, 归并排序, 快速排序
  14. 视觉slam学习笔记以及课后习题《第五讲特征点法视觉里程计》
  15. HDU 1312 Red and Black(最简单也是最经典的搜索)
  16. Win10周年升级新增52000个emoji表情
  17. linux下把 python 程序运行的输出结果记录到 log 文件中
  18. ubuntu 20.04安装RTL8821CE无线网卡驱动
  19. 2022年上半年韩国移动游戏市场洞察
  20. 软件测试安全性翻译成英语,软件可靠性测试充分性准则,software reliability testing adequacy criterion,音标,读音,翻译,英文例句,英语词典...

热门文章

  1. 泰坦尼克号数据_kaggle泰坦尼克号之Python手把手数据分析
  2. A1028[List Sorting] 小水题
  3. python为什么不能删除_为什么python不允许我删除文件?
  4. python读取properties文件_读取properties文件
  5. WampServer的下载方法-解决报错the installation folder chosen is not that wampserver
  6. php7 switch,Switch autocommit on or off - PHP 7 中文文档
  7. 翻译: 4.1 多层感知器MLP Multilayer Perceptrons pytorch
  8. 阿里云云计算 40 CDN的概念
  9. 阿里云云计算 15 在线实验--OSS的使用
  10. mysql删完数据表空间没释放_mysql删除表后,空间一直不释放