实现数组头尾两端元素对调代码
深入理解计算机系统第二章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
实现数组头尾两端元素对调代码相关推荐
- 一个数组中的元素头尾两端依次对调
void reverse_array(int a[],int cnt){int first,last;for (first = 0,last = cnt - 1;first < last;fir ...
- JavaScript | 声明数组并使用数组索引分配元素的代码
Declare an array, assign elements by indexes and print all elements in JavaScript. 声明一个数组,通过索引分配元素,并 ...
- 找出所有不是这两个数组共有的元素
文章目录 引入 代码 运行测试 引入 找出不是两个数组共有的元素.输入一个正整数 n(1<n≤10),再输入 n 个整 数,存入第 1 个数组中:然后输入一个正整数 m(1<m<=1 ...
- 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。(js代码)
1.题目描述 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素. 例如数组{3,4,5,1,2}为{1,2,3,4,5}的 ...
- 如何统计二维或者多维空间/二维数组中重复元素的数量/计数?numpy一行代码就行了
文章目录 1. 问题说明 2. 解决之道 3. 向原作者致敬 Reference 1. 问题说明 统计一维数组中重复元素的数量是个常见的问题,那么拓展到二维或者更高维度,这个问题依然是常见的.有什么方 ...
- Python 将列表中的头尾两个元素对调
https://www.runoob.com/python3/python-list-interchange.html 定义一个列表,并将列表中的头尾两个元素对调. 例如: 对调前 : [1, 2, ...
- python匿名基数(lamdba):给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True;如果数组中每个元素互不相同,返回False,用一行代码解决
""" 给你一个整数数组nums,如果任一值在数组中出现至少两次,返回True:如果数组中每个元素互不相同,返回False,用一行代码解决 例: nums = [1,2, ...
- python指定元素对调_Python 将列表中的头尾两个元素对调
Python 将列表中的头尾两个元素对调 定义一个列表,并将列表中的头尾两个元素对调. 例如:对调前 : [1, 2, 3] 对调后 : [3, 2, 1]def swapList(newList): ...
- 【Java】数组逆序操作。定义长度为10的数组,将数组元素对调并输出对调后的结果。
题目:数组逆序操作.定义长度为10的数组,将数组元素对调并输出对调后的结果. 思路:把0索引和arr.length-1的元素交换,把1索引和arr.length-2元素交换--只要交换到arr.len ...
- java输出数组中的元素_java一行代码输出数组的所有元素内容
如果要用java把一个数组的元素都输出到控制台的话,你要怎么做呢? 是通过一个循环去循环数组中的各个元素,然后输出吗? 像不像二维数组 今天我要说的是,可以通过一行代码就完成这个工作.是一样什么样的代 ...
最新文章
- centos 安装 mysql 5.7
- mongodb 用户 设计_MongoDB 是什么?看完你就知道了
- 如何在html中写javascript代码,如何在本地html代码中使用javascript脚本
- SQL盲注工具BBQSQL
- 64位汇编之linux系统调用
- GIT 源码管理-简介
- layui中onchange失效以及form动态渲染失效的问题
- python整数逆序输出_利用Python实现倒序任意整数
- HTTP/2 协议入门
- laravel-admin form中的数据,在提交后,保存前,获取并进行编辑
- ASP.NET文件夹
- 苹果官宣春季发布会!不止有iPhone SE 3,还有紫色iPhone 13 Pro?
- 算法设计 分治, 归并排序, 快速排序
- 视觉slam学习笔记以及课后习题《第五讲特征点法视觉里程计》
- HDU 1312 Red and Black(最简单也是最经典的搜索)
- Win10周年升级新增52000个emoji表情
- linux下把 python 程序运行的输出结果记录到 log 文件中
- ubuntu 20.04安装RTL8821CE无线网卡驱动
- 2022年上半年韩国移动游戏市场洞察
- 软件测试安全性翻译成英语,软件可靠性测试充分性准则,software reliability testing adequacy criterion,音标,读音,翻译,英文例句,英语词典...
热门文章
- 泰坦尼克号数据_kaggle泰坦尼克号之Python手把手数据分析
- A1028[List Sorting] 小水题
- python为什么不能删除_为什么python不允许我删除文件?
- python读取properties文件_读取properties文件
- WampServer的下载方法-解决报错the installation folder chosen is not that wampserver
- php7 switch,Switch autocommit on or off - PHP 7 中文文档
- 翻译: 4.1 多层感知器MLP Multilayer Perceptrons pytorch
- 阿里云云计算 40 CDN的概念
- 阿里云云计算 15 在线实验--OSS的使用
- mysql删完数据表空间没释放_mysql删除表后,空间一直不释放