将顺序表(数组)中的元素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 

数组元素交换位置(奇数号元素在前,偶数号元素在后)相关推荐

  1. js调整数组某些元素到指定位置顺序_js 实现数组元素交换位置

    /** * 数组元素交换位置 * @param {array} arr 数组 * @param {number} index1 添加项目的位置 * @param {number} index2 删除项 ...

  2. Java黑皮书课后题第8章:*8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置。返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标

    *8.13(定位最大的元素)编写下面的方法,返回二维数组中最大元素的位置.返回值是包含两个元素的一维数组,这两个元素表示二维数组中最大元素的行下标和列下标 题目 题目描述与运行示例 破题 代码 题目 ...

  3. 顺序表前m和后n元素交换位置

    系列目录: 左右移动(旋转)数组元素 查找两个升序数组的中间数 判断数组的某一个元素的数量是否超过了整个数组数量的一半 合并两个有序表到新的有序表 文图介绍 A 1 2 3 4 设前m为1,后n为3. ...

  4. js 数组元素交换位置

    方法1 const array = [{name: 'james',number: 1,},{name: 'json',number: 2,},{name: 'kobe',number: 3,}, ] ...

  5. python列表元素交换位置_python删除列表元素5种方法,你会的是错误法还是最优解?...

    删除列表元素很多同学想当然的认为不就是循环遍历加上if判断再del吗?真的有这么简单吗? 还是直接上代码看案例吧: import time# 删除下面列表中所有张姓元素,输出的结果应该是['李老大', ...

  6. python列表元素求和_对Python列表的前k个元素求和?

    有两个选项,都使用sum():使用^{}可以有效地提取这些元素:from itertools import islice sum(islice(somelist, k)) 将列表切片,以便只包含以下第 ...

  7. java array 元素的位置_数据结构与算法:动态图解十大经典排序算法(含JAVA代码实现)...

    点击上方"JAVA",星标公众号 重磅干货,第一时间送达 本文将采取动态图+文字描述+正确的java代码实现来讲解以下十大排序算法: 冒泡排序 选择排序 插入排序 希尔排序 归并排 ...

  8. C语言数组——交换位置

    数组:交换位置 找到数组中最小的元素,并与数组首个元素交换位置.如果有多个最小元,取数组中首次出现的交换 输入样例 4 1 -6 3 -6 输出样例 -6 1 3 -6 ??这里你们应该觉得这写的什么 ...

  9. 顺序表的操作例题——已知一个顺序表L, 其中的元素递增有序排列,设计一个算法,插入一个元素x (x为int 后保持该顺序表仍然递增有序排列(假设插入操作总能成功)。

    一.[题目描述]: 已知一个顺序表L, 其中的元素递增有序排列,设计一个算法,插入一个元素x (x为int 后保持该顺序表仍然递增有序排列(假设插入操作总能成功). 二.[题目分析]: 由题干可知,解 ...

  10. c语言数组最大元调换,c语言数组元素交换有关问题,请高手过来看看

    c语言数组元素交换问题,请高手过来看看 主要问题是数组元素交换不正确,以下是代码: #include #include #define PI 3.1415926 #define MAX 512 dou ...

最新文章

  1. python axis=0 axis=1的区别
  2. python 二维数组元素返回二维坐标_python – 从二维数组中返回生成器而不是位置列表...
  3. 1.在VS2010中文版中开发WP7程序
  4. Android_2.2_eclips_Bundle简单传参demo
  5. A. 本地DNS服务器的位置
  6. 中国大学MOOC-数据结构基础习题集、06-2、旅游规划
  7. 软件开发者面试百问答案,老紫竹研究室出品(已经有64个)
  8. 阶乘和(信息学奥赛一本通-T1173)
  9. Java知多少(50)Java throws子句
  10. err_cleartext_not_permitted
  11. 摇号系统怎么做_雨水收集系统怎么做
  12. c++ list遍历_List集合就这么简单「源码剖析」
  13. 织梦 php模板修改,织梦专题模板修改.doc
  14. TA100 T3.7 TB(D)R
  15. 关于ORA-03113:end-of-file on communication channel
  16. SpringBoot实现登录注册
  17. 阿里云部署metasploit framework
  18. 使用vnc远程centos桌面
  19. SDUT OJ 2975
  20. 毕业回忆我的大学(2)——上课、考试

热门文章

  1. 第一家顶住春晚流量的公司
  2. 理想和现实的科学分析
  3. 从今天开始学python
  4. 【知识蒸馏】开源:Yolov5模型知识蒸馏训练(可用于自己的数据集)
  5. java 数据透视表 组件_Java 创建 Excel 数据透视表
  6. Oracle创建表空间 ORA-01119 ORA-27040 (OS 21)设备未就绪
  7. 2020-3-11python语法知识(5)字符串和字典
  8. 国产电影机跟国外品牌相比如何?导演评“差距不大”博冠8K全画幅摄像机落地长春电影制片厂虚拟影棚开拍
  9. 解决webpack-dev-server无法通过 localhost 访问的问题
  10. 【蛛网家族】重磅消息:蛛网家族即将再添新成员——DataCenter