深入理解计算机系统第二章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. java arraylist 序列化_无法序列化/反序列化ArrayList
  2. Android10.0 Binder通信原理(九)-AIDL Binder示例
  3. Shell编程基入门
  4. HTML5-canvas实例:刮刮乐游戏
  5. RIP学习---网络工程
  6. php购票排位_PHP基于双向链表与排序操作实现的会员排名功能示例
  7. mysql 定期备份_MySQL定时备份(全量备份+增量备份)
  8. 计算机桌面变色怎么办,电脑屏幕变色了怎么办
  9. windows系统bat批处理 一键添加共享打印机
  10. linux 重复模式元字符,Linux 正则表达式 vi, grep, sed, awk
  11. 你知道哪些苹果自家应用采用 Swift 语言编写吗?
  12. esp32实现万能红外遥控器 基于开源红外码库IREXT
  13. traceroute和tracert原理
  14. 口诀计算机,PID算法的通俗讲解及调节口诀[计算机类]
  15. 学透JavaScript 你真的懂 Array 吗?
  16. Andriod 获取手机CPU型号设备信息
  17. 《微服务系列:Eureka服务注册发现中心》
  18. Web Confidential for mac(密码信息管理软件)
  19. slickedit调试linux内核,SlickEdit介绍
  20. 诺基亚3d贪吃蛇java版_诺基亚3D贪吃蛇游戏下载-游戏大玩家

热门文章

  1. python制作查询工具发给别人使用_Python 制作查询商品历史价格的小工具
  2. C程序设计--指针(对 “ 数组 ” 进行输入输出操作)
  3. html全屏代码怎么写,JS实现全屏的四种写法
  4. java 异常_23、Java异常分类
  5. 在java创建线程结果_Java创建线程的三种方式
  6. 英寸和厘米的交互python_Python / PyQt4:如何找到显示器的尺寸(以英寸为单位)?...
  7. android 编译api,Android逆向利器,直接将apk转换为可二次开发Android工程,提供So hook Api,......
  8. 【SPOJ - NSUBSTR】Substring(统计长度为x的子串最多出现的次数--后缀自动机)
  9. 【算法笔记+POJ3461】Oulipo(字符串hash模版)
  10. 【数位dp】HDU3555:Bomb(入门题目)