首页 > 代码库 > 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数组排序(冒泡、直排)反转