首页 > 代码库 > java数组排序(冒泡、直排)反转
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数组排序(冒泡、直排)反转
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。