每日一练:排序题:一大一小,依次类推题

/*描述:有一组数(43,14,6,9,3,27,38,19,5等)
排序:将最大的放在第一位,最小放在第二位,剩下的最大的放在第三位,最小的放在第四位,以此类推
输出排序结果*/

package everyDay;

import java.util.Arrays;

public class SortTest {
/**
* 实现思路:1.数组的排序小大
* 2.判断数组奇偶
* 2.1偶数:除2,小前半部分b数组,大后半部分c数组长度
* 2.2 再分别把a的值给b和c,又两个循环
* 2.3然后第3个循环以a的长度循环奇偶赋值给a,
* 2.4最后循环输出a的值即可
* @param args
*/
public static void main(String[] args) {
//int a[] = { 4, 5, 6, 3, 2, 5, 7, 9, 3 };
int a[] = { 43,14,6,9,3,27,38,19,5 };
Arrays.sort(a);////数组的排序方法
////
for(int i=0;i<a.length;i++){
System.out.print(a[i]+" ");
//System.out.print("\n");
}
System.out.print("\n");
//
if (a.length % 2 == 0) {
int b[] = new int[a.length / 2];
int c[] = new int[a.length / 2];
for (int i = 0; i < b.length; i++) {
b[i] = a[i];
}
for (int i = c.length; i < a.length; i++) {
c[i - c.length] = a[i];
}
for (int i = 0; i < a.length; i++) {
if (i % 2 == 0) {//0,2,4,6
a[i] = c[c.length - i / 2 - 1];
} else {
a[i] = b[i / 2];
}
}
} else {
int b[] = new int[a.length / 2];
int c[] = new int[a.length / 2 + 1];
for (int i = 0; i < b.length; i++) {
b[i] = a[i];
}
for (int i = b.length; i < a.length; i++) {
c[i - b.length] = a[i];
}
for (int i = 0; i < a.length; i++) {
if (i % 2 == 0) {
a[i] = c[c.length - i / 2 - 1];
} else {
a[i] = b[i / 2];
}
}
}
for (int i = 0; i < a.length; i++) {
System.out.print(a[i] + " ");
}
}
}

输出结果:

3 5 6 9 14 19 27 38 43
43 3 38 5 27 6 19 9 14

时间: 2024-07-30 21:00:39

每日一练:排序题:一大一小,依次类推题的相关文章

内部排序-第10章-《数据结构题集》习题解析-严蔚敏吴伟民版

//**留坑待填**// 一.基础知识题 10.1?以关键码序列(503,087,512,061,908,170,897,275,653,426)为例,手工执行以下排序算法,写出每一趟排序结束时的关键码状态: (1)直接插入排序:                            (2)希尔排序(增量d[1]=5): (3)快速排序:                                  (4)堆排序: (5)归并排序:                              

外部排序-第11章-《数据结构题集》习题解析-严蔚敏吴伟民版

习题集解析部分 第11章 外部排序 ——<数据结构题集>-严蔚敏.吴伟民版        源码使用说明  链接??? <数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明        课本源码合辑  链接??? <数据结构>课本源码合辑        习题集全解析  链接??? <数据结构题集>习题解析合辑       相关测试数据下载  链接? 数据包       本习题文档的存放目录:数据结构\▼配套习题解析\▼11 外部排序    

Python 每日一练(3)

引言 今天的每日一练,学习了一下用Python生成四位的图像验证码,就是我们常常在登录时见到的那种(#`O′) 思路分析 正如常见的那种图像验证码,它是由数字和字母的随机组合产生的,所以我们首先的第一步就是生成这样的数字字母组合 完成第一步后,剩下的就和之前第一次练习给图片加文字一样的操作了 具体实现 生成随机验证码 def genUnit(): ascii_and_num=string.ascii_uppercase+string.digits Verification_Code=random

CSS3每日一练之内容处理-嵌套编号

出处:http://www.w3cfuns.com/thread-5592229-1-17.html 1.大标题一   1.子标题   2.子标题   3.子标题2.大标题二   1.子标题   2.子标题3.大标题三   1.子标题   2.子标题   3.子标题 这种问题,你可能会觉得直接定义两个计数器,分别编号不就行了,于是就写出了如下代码: <!DOCTYPE HTML> <html> <head> <meta charset="gb2312&q

CSS3每日一练之选择器-结构性伪类选择器

<!DOCTYPE HTML> <html> <head> <meta charset="gb2312"> <title>CSS3每日一练之选择器-结构性伪类选择器[四] | 前端开发网(W3Cfuns.com)!</title> <style type="text/css"> *{margin:0; padding:0;} #list{font-family:"Micro

HTML5每日一练之input新增加的URL类型与email类型应用

1.URL类型: <form> <input name="urls" type="url" value="http://www.w3cfuns.com/"/> <input type="submit" value="提交"/> </form> 复制代码 设置此类型后,从外观上来看与普通的元素差不多,可是如果你将此类型放到表单中之后,当点击提交按钮,如果此输入框

每日一练

<meta name="viewport" content="width=device-width,initial-scale=1.0">修正网页在大部分移动设备上的显示 <meta name="keywords" content="关键字一,php,apache,mysql,linux"> <!--[if lt IE 9]> <script src="http://html

HTML5每日一练之OL列表的改良

在HTML5中的OL被改良了,为它增加了两个新属性. start属性:start属性用来定义列表编号的起始位置,比如下面的代码,列表将从50开始51...55以此类推 <ol start="50"> <li>首页</li> <li>阅览室</li> <li>我的</li> <li>简历</li> <li>社区</li> <li>教程</l

HTML5每日一练之视频标签的应用

与音频一样,在过去,我们如果想在Web上播放视频,也是都是通过Flash来播放,同样并不是所有的浏览器都安装了Flash播放器插件,而现在我们在HTML5中,就能完全脱离Flash或其他的插件来播放视频了. video标签:   IE9 FireFox 5.0 Safari 5.5 Chrome 12 Opera 11.5 Mpeg4 √ × √ √ × Ogg × √ × √ √ WebM × √ × √ √ Ogg:带有 Theora 视频编码和 Vorbis 音频编码的 Ogg 文件MPE