当前位置:网站首页>逆置问题--重点
逆置问题--重点
2022-07-31 10:09:00 【柯基@】
给定一个线性表,如何将其中的元素逆置?可设置两个整型变量 i 和 j,i 指向第一个元素,j 指向最后一个元素,边交换 i 和 j 所指元素,边让 i 和 j 相向而行,直到相遇,实现代码如下。假设元素存于数组a[ ]中,left和right是数组两端元素的下标。
for(int i=lefft,j=right;i<j;i++,j--){
int temp=a[i];
a[i]=a[j];
a[j]=temp;
}
【例2-5】
(1)将一长度为 n 的数组的前端 k(k<n)个元素逆序后移动到数组后端,要求原数组中数据不丢失,其余元素的位置无关紧要
只需要逆置整个数组,即可满足前端 k 个元素逆序后放到数组的后端
(2)将一长度为 n 的数组的前端 k(k<n)个元素保持原序移动到数组后端,要求原数组中数据不丢失,其余元素的位置无关紧要
只需要将前端k个元素逆置,然后将整个数组逆置,即可满足前端 k 个元素保持原序放到数组的后端
(3)将数组中的元素(X0,X1,…,Xn-1),经过移动后变为(Xp,Xp+1,…,Xn-1,X0,X1,…,Xp-1),即循环左移 p(0<p<n)个位置
只需要将 0~p-1 位置的元素逆置,再将 p~n-1 位置的元素逆置,然后将整个数组逆置即可。
边栏推荐
猜你喜欢
如何将虚拟机上的文件复制到主机上
loadrunner-controller-目标场景Schedule配置
Gradle系列——Groovy概述,基础使用(基于Groovy文档4.0.4)day2-1
【LeetCode】21. 合并两个有序链表
VMware下安装win10
The big-eyed Google Chrome has also betrayed, teach you a trick to quickly clear its own ads
第七章
LeetCode二叉树系列——101.对称二叉树
Source code analysis of GZIPInputStream class
NowCoderTOP17-22 二分查找/排序——持续更新ing
随机推荐
matlab 读取csv文件绘图
使用turtle画按钮
(C language) program environment and preprocessing
Meikle Studio--Hongmeng 14-day development training notes (8)
小程序如何使用订阅消息(PHP代码+小程序js代码)
loadrunner-controller-view script与load generator
GVINS论文阅读笔记
【LeetCode】141.环形链表
Principle of Redis Sentinel
Come n times - 06. Print the linked list from end to end
内联元素居中
js right dot single page scrolling introduction page
loadrunner脚本--添加事务
浅谈Attention与Self-Attention,一起感受注意力之美
Implement a thread pool
【LeetCode】1161.最大层内元素和
Data Middle Office Construction (6): Data System Construction
我们能做出来数据库吗?
Rich text editor Tinymce
NowCoderTOP23-27 Binary tree traversal - continuous update ing