当前位置:网站首页>逆置问题--重点
逆置问题--重点
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 位置的元素逆置,然后将整个数组逆置即可。
边栏推荐
猜你喜欢
出色的移动端用户验证
通过栗子来学习MySQL高级知识点(学习,复习,面试都可)
可以用聚酯树脂将接线板密封接线盒吗?(接线盒灌封胶用哪种树脂)
梅科尔工作室--鸿蒙十四天开发培训笔记(八)
如何在 TiDB Cloud 上使用 Databricks 进行数据分析 | TiDB Cloud 使用指南
初识二叉搜索树
NowCoderTOP28-34 binary tree - continuous update ing
canvas粒子变幻各种形状js特效
js implements the 2020 New Year's Day countdown bulletin board
WEB核心【记录网站登录人数,记录用户名案例】Cookie技术实现
随机推荐
Use turtle to draw buttons
【23提前批】北森云计算-测开面经
尚医通【预约挂号系统】总结
GZIPInputStream 类源码分析
Come n times - 09. Implement queues with two stacks
loadrunner-Controller负载测试-各模块功能记录01测试场景设计
The fifth chapter
第七章
nodeJs--querystring模块
浓眉大眼的谷歌 Chrome 也叛变了,教你一招快速清除其自带广告
【职场杂谈】售前工程师岗位的理解杂谈
【LeetCode】242. 有效的字母异位词
Kotlin入门介绍篇
Rich text editor Tinymce
【LeetCode】Day108-和为 K 的子数组
学习笔记——七周成为数据分析师《第二周:业务》:业务分析框架
Meikle Studio--Hongmeng 14-day development training notes (8)
Mysql+Navicat for Mysql
【LeetCode】387. 字符串中的第一个唯一字符
数据中台建设(六):数据体系建设