java数组排序(冒泡、直排)反转
package lianxi; public class maopao {
public static void main(String[] args){
int[] i=new int[]{45,67,54,35,26,76,85};
for(int a=0;a<i.length;a++){
for(int b=0;b<i.length;b++){
if(i[a]<i[b]){
int temp=i[a];
i[a]=i[b];
i[b]=temp; }
}
}go(i);
}
public static void go(int[] l){
for(int o=0;o<l.length;o++){
System.out.print(l[o]+" ");
}
}
}
冒泡排序就是用两个for循环第一层循环每一次循环拿一个数然后用第二个循环跟数组中的其他数进行比较,直到循环结束,排序就完成了。
package day24;
//直接排序
public class paixu {
public static void main(String[] args){
int[] i=new int[]{45,35,67,86,46,25,47,37,85};// for(int m=0;m<i.length;m++){
int indexmax=m;
for(int n=m+1;n<i.length;n++){
if(i[indexmax]<i[n]){
indexmax=n;//把循环中第一个索引换成了最大值的索引
}
}
int temp=i[m];
i[m]=i[indexmax];//把最大值赋给循环中第一个值。
i[indexmax]=temp;//把第一个值放在其他位置
}
xunhuan(i);
} public static void xunhuan(int[] t){
for (int l=0;l<t.length;l++){
System.out.println(t[l]);}
}}
直接排序就是直接拿数去比较完就放到应该放到的位置上,直到循环结束
package lianxi;
//反转排序
public class fanzhuan {
public static void main(String[] args){
int[] i=new int[]{5,4,8,3,9,5,23};
int lm=i.length;
for(int a=0;a<lm/ 2;a++){
int temp=i[i.length-a-1];
i[i.length-a-1]=i[a];
i[a]=temp;
}
go(i);
}
public static void go(int[] s){
for(int b=0;b<s.length;b++){
System.out.println(s[b]);
}
}
}
数组的反转,让循环的次数小于数组长度的一半,然后让循环次数对应的索引值的数组值跟对着的数交换就好了。
package lianxi; public class ShuZu {
String[] xzName = { "白羊", "金牛", "双子", "巨蟹", "狮子", "处女", "天秤", "天蝎", "射手", "摩羯", "水瓶", "双鱼" };
String[] xzDate = { "03月21日─04月20日", "04月21日─05月20日", "05月21日─06月21日", "06月22日─07月22日", "07月23日─08月22日",
"08月23日─09月22日", "09月23日─10月22日", "10月23日─11月21日", "11月22日─12月21日", "12月22日─01月19日", "01月20日─02月18日",
"02月19日─03月20日" }; } package lianxi; import java.util.Scanner; public class TestShuzu {
public static void main(String[] args){
ShuZu sz=new ShuZu();
Scanner sc=new Scanner(System.in);
System.out.println("请输入星座名字,并用逗号隔开");
String X_name=sc.nextLine(); if(X_name.length()==2){
for(int i=0;i<sz.xzName.length;i++){
if(X_name.equals(sz.xzName[i])){//属性.equals就是指的属性的值
System.out.print(sz.xzDate[i]);
}
}
} else if(X_name.length()>2){
String[] y=X_name.split(",");
for(int w=0;w<y.length;w++){
String ow = null;
for(int q=0;q<sz.xzName.length;q++){
if(y[w].equals(sz.xzName[q])){ ow=sz.xzDate[q];
}
} System.out.println(ow);
} }
sc.close();
}
}
输入星座名,输出对应的月份,可以输入多个星座查询,主要是得想到string可以用split方法分割成几个数组
java数组排序(冒泡、直排)反转的更多相关文章
- java基础入门之数组排序冒泡法
public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main ...
- Java数组排序
Java数组排序Arrays.sort,以及Comparator接口的用法 有的时候需要对数组里的element进行排序.当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sor ...
- Java写 插入 选择 冒泡 快排
/** * Created by wushuang on 2014/11/19. */ public class SortTest { @Test public void mainTest() { i ...
- java数组排序(插入排序、冒泡排序、选择排序)与递归 代码示例
import java.util.Scanner; public class OrderBy { public static void main(String[] args) { // Scanner ...
- Java实现一个字符串的反转
Java小程序实现字符串的反转: 方法一: public class reverseString { public static void main(String[] args) { String s ...
- Java Web实现IOC控制反转之依赖注入
控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题,也是轻量级的Spring框架的核心. 控制反转一般分为两种类型,依赖注入 ...
- Java温故而知新-冒泡法排序
冒泡法排序是各种初学者在学习数组与循环结构时都会练习的一种简单排序算法. 冒泡法的精髓在于比较相邻的两个元素,较大的元素会不断的排到队伍后面去,就像水里的泡泡一样不断向上跑. 想像一下倒在一个透明玻璃 ...
- Java数组排序基础算法,二维数组,排序时间计算,随机数产生
import java.util.Arrays; //包含Arrays import java.util.Random; public class HelloWorld { public static ...
- [Java]数组排序-选择排序 冒泡排序 插入排序
1 选择排序 原理:a 将数组中的每个元素,与第一个元素比较 如果这个元素小于第一个元素, 就将这个 两个元素交换. b 每轮使用a的规则, 可以选择出 ...
随机推荐
- 免费在线生成彩色带logo的个性二维码
码工具网站提供免费的在线二维码生成服务,可以把网址.文本.电子邮件.短信.电话号码.电子名片.wifi网络等信息生成对应的二维码图片.你可以设置二维码图片的格式(png,jpg,gif). ...
- Spring学习(23)--- AOP之Introductions应用
简介允许一个切面声明一个实现指定接口的通知对象,并且提供了一个接口实现类来代表这些对象 由<aop:aspect>中的<aop:declare-parents>元素声明该元素用 ...
- java 多线程基础
线程是进程内的执行单元,进程当中都有若干个线程. 通常主线程或进程是阻塞式的按顺序执行的,如果希望异步执行些子任务,而不要阻塞当前线程的执行,即需要创建子线程,子线程创建后主线程可以等待它们的结果,得 ...
- JS+PHP实现用户输入数字后取得最大的值并显示为第几个
目的:分清JS PHP的区别,拓宽思维 分析 1.利用JS的prompt输入用户想要输入的值. 2.利用HTML表单的text标签将输入的值传递给PHP处理文件 3.PHP进行数值判定,选出最大值和位 ...
- 你不知道的 flex 技巧
一.使用 Auto Margins 对齐 不需要给图片使用任何的 flex,也不需要给父容器设置 space-between,只需要给 ' BUY-BUY-BUY' 按钮设置 margin-left: ...
- 搭建带热更新功能的本地开发node server
引言 使用webpack有一段时间了,对其中的热更新的大概理解是:对某个模块做了修改,页面只做局部更新而不需要刷新整个页面来进行更新.这样就能节省因为整个页面刷新所产生开销的时间,模块热加载加快了开发 ...
- for循环操作数组
if(!empty($data)){ $arr_length=count($data); //数组的步长 $array_keys_list=array_values($data); //数组的键值 f ...
- [leetcode-598-Range Addition II]
Given an m * n matrix M initialized with all 0's and several update operations. Operations are repre ...
- ajax数据请求5(php格式)
ajax数据请求5(php格式): <!DOCTYPE html> <html> <head> <meta charset="UTF-8" ...
- ajax数据请求3(数组json格式)
ajax数据请求3(数组json格式) <!doctype html> <html> <head> <meta charset="utf-8&quo ...