数组元素交换位置(奇数号元素在前,偶数号元素在后)
将顺序表(数组)中的元素a1,a2,a3,......,an变换为奇数号元素在前,偶数号元素在后的新表,即a1,a3,a5,...a2,a4,a6....
要求尽可能高效。
这里使用了数组模拟顺序表,数组首元素为A[0],顺序表首元素为a1,所以A[0]->a1;A[len-1]->an;
#include<stdio.h>void Bubble_Swap(int A[],int len){int i=len;int v=1;int temp;if(len%2==0)i=len-1;while(i>-1){temp=A[i-1];for(int j=0;j<v;j++){A[i+j-1]=A[i+j];}A[i+v-1]=temp;i-=2;v++;}
}
int main(){int A[]={1,2,3,4,5,6,7,8,9,10};int len=sizeof(A)/sizeof(int);Bubble_Swap(A,len-1);for(int i=0;i<len;i++)printf("%d ",A[i]);}
结果:
2 4 6 8 10 1 3 5 7 9
#include<stdio.h>void Bubble_Swap(int A[],int len){int i=len;int v=1;int temp;if(len%2==0)i=len-1;while(i>1){//i>1因为本身A[1]就应该在第一位。temp=A[i-1];for(int j=0;j<v;j++){A[i+j-1]=A[i+j];}A[i+v-1]=temp;i-=2;v++;}
}
int main(){int A[]={0,1,2,3,4,5,6,7,8,9,10};//0用来占位,实际元素从A[1]开始。int len=sizeof(A)/sizeof(int);Bubble_Swap(A,len-1);for(int i=1;i<len;i++)printf("%d ",A[i]);}
运行结果:
1 3 5 7 9 2 4 6 8 10
数组元素交换位置(奇数号元素在前,偶数号元素在后)相关推荐
- js调整数组某些元素到指定位置顺序_js 实现数组元素交换位置
/** * 数组元素交换位置 * @param {array} arr 数组 * @param {number} index1 添加项目的位置 * @param {number} index2 删除项 ...
- Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标
*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置.返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标 题目 题目描述与运行示例 破题 代码 题目 ...
- 顺序表前m和后n元素交换位置
系列目录: 左右移动(旋转)数组元素 查找两个升序数组的中间数 判断数组的某一个元素的数量是否超过了整个数组数量的一半 合并两个有序表到新的有序表 文图介绍 A 1 2 3 4 设前m为1,后n为3. ...
- js 数组元素交换位置
方法1 const array = [{name: 'james',number: 1,},{name: 'json',number: 2,},{name: 'kobe',number: 3,}, ] ...
- python列表元素交换位置_python删除列表元素5种方法,你会的是错误法还是最优解?...
删除列表元素很多同学想当然的认为不就是循环遍历加上if判断再del吗?真的有这么简单吗? 还是直接上代码看案例吧: import time# 删除下面列表中所有张姓元素,输出的结果应该是['李老大', ...
- python列表元素求和_对Python列表的前k个元素求和?
有两个选项,都使用sum():使用^{}可以有效地提取这些元素:from itertools import islice sum(islice(somelist, k)) 将列表切片,以便只包含以下第 ...
- java array 元素的位置_数据结构与算法:动态图解十大经典排序算法(含JAVA代码实现)...
点击上方"JAVA",星标公众号 重磅干货,第一时间送达 本文将采取动态图+文字描述+正确的java代码实现来讲解以下十大排序算法: 冒泡排序 选择排序 插入排序 希尔排序 归并排 ...
- C语言数组——交换位置
数组:交换位置 找到数组中最小的元素,并与数组首个元素交换位置.如果有多个最小元,取数组中首次出现的交换 输入样例 4 1 -6 3 -6 输出样例 -6 1 3 -6 ??这里你们应该觉得这写的什么 ...
- 顺序表的操作例题——已知一个顺序表L, 其中的元素递增有序排列,设计一个算法,插入一个元素x (x为int 后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。
一.[题目描述]: 已知一个顺序表L, 其中的元素递增有序排列,设计一个算法,插入一个元素x (x为int 后保持该顺序表仍然递增有序排列(假设插入操作总能成功). 二.[题目分析]: 由题干可知,解 ...
- c语言数组最大元调换,c语言数组元素交换有关问题,请高手过来看看
c语言数组元素交换问题,请高手过来看看 主要问题是数组元素交换不正确,以下是代码: #include #include #define PI 3.1415926 #define MAX 512 dou ...
最新文章
- python axis=0 axis=1的区别
- python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...
- 1.在VS2010中文版中开发WP7程序
- Android_2.2_eclips_Bundle简单传参demo
- A. 本地DNS服务器的位置
- 中国大学MOOC-数据结构基础习题集、06-2、旅游规划
- 软件开发者面试百问答案,老紫竹研究室出品(已经有64个)
- 阶乘和(信息学奥赛一本通-T1173)
- Java知多少(50)Java throws子句
- err_cleartext_not_permitted
- 摇号系统怎么做_雨水收集系统怎么做
- c++ list遍历_List集合就这么简单「源码剖析」
- 织梦 php模板修改,织梦专题模板修改.doc
- TA100 T3.7 TB(D)R
- 关于ORA-03113:end-of-file on communication channel
- SpringBoot实现登录注册
- 阿里云部署metasploit framework
- 使用vnc远程centos桌面
- SDUT OJ 2975
- 毕业回忆我的大学(2)——上课、考试
热门文章
- 第一家顶住春晚流量的公司
- 理想和现实的科学分析
- 从今天开始学python
- 【知识蒸馏】开源:Yolov5模型知识蒸馏训练(可用于自己的数据集)
- java 数据透视表 组件_Java 创建 Excel 数据透视表
- Oracle创建表空间 ORA-01119 ORA-27040 (OS 21)设备未就绪
- 2020-3-11python语法知识(5)字符串和字典
- 国产电影机跟国外品牌相比如何?导演评“差距不大”博冠8K全画幅摄像机落地长春电影制片厂虚拟影棚开拍
- 解决webpack-dev-server无法通过 localhost 访问的问题
- 【蛛网家族】重磅消息:蛛网家族即将再添新成员——DataCenter