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方法分割成几个数组

时间: 2024-08-05 22:34:15

java数组排序(冒泡、直排)反转的相关文章

JAVA排序(冒泡,直接选择,反转)

int[] arr = {45, 34, 53, 43}; 一,直接选择排序 System.out.println(Arrays.toString(arr)); for(int i=0;i<arr.length;i++) { int tem = i; for(int j=i;j<arr.length;j++) { if(arr[j] < arr[tem]) { tem = j; } } int temp1 = arr[i]; arr[i] = arr[tem]; arr[tem] = t

数组排序(java)冒泡法

public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main(String args[]){ //定义一个integer数组 int array[]={0,1,4,8,5,4,10,9}; for(int i=0;i<array.length;i++){ //第二层循环从第一层循环的元素第一次后一个开始 for(int j=i+1;j<array.leng

Java数组排序

Java数组排序Arrays.sort,以及Comparator接口的用法 有的时候需要对数组里的element进行排序.当然可以自己编写合适的排序方法,但既然java包里有自带的Arrays.sort排序方法,在 数组元素比较少的时候为何不用? Sorting an Array 1. 数字排序  int[] intArray = new int[] { 4, 1, 3, -23 }; Arrays.sort(intArray); 输出: [-23, 1, 3, 4] 2. 字符串排序,先大写后

排序 折半,冒泡 快排

折半插入排序: /*********************************************** 折半插入排序 ***********************************************/ #include<stdio.h> #include<string.h> #include<math.h> #include<ctype.h> #include<stdbool.h> #include<stdlib.h

java 字符转码与反转码

本人最近在做OAF的二次开发,在看别人写的代码时,发现总有类似这样的语句:”\u65e0\u6548\u7684GP\u9879\u76ee\u7f16\u53f7“,这些语句其实是用Java_home中的工具native2ascii.exe转码而成.在显示消息通知时,oracle并不推荐这么做,平时都是在”应用开发员“这个职责下配的消息.下面我就来介绍下如何用native2ascii.exe工具进行转码和反转码的. 1.java 字符转码 打开dos窗口,输入cmd, 并且输入:cd C:\P

Java学习 之数字排顺序

初次学习java,以下案例仅探讨输入三个数排顺序大小,具体的思路是先输入数字并以,分割开,通过nextLine获取刚才输入的字符串,并通过分割得到该字符串的一个string数组,利用一个for数组将string数组转换为int数组即   arr[i]=Integer.parseInt(s[i]);    然后根据 赋给max,min,mid初始值,分别判断输出其最小值,中值,最大值. import java.util.Scanner; class bigger { public static v

[转]Java Spring的Ioc控制反转Java反射原理

转自:http://www.kokojia.com/article/12598.html 学习一个东西的时候,如果想弄明白,最好想想框架内部是如何实现的,如果是我做我会怎么实现.下面我就写一个Ioc DI的程序.Spring就相当于一个Bean工厂,你写好自己的bean,输入配置文件,Spring就可以帮你自动生成bean对象.下面我们创建一个java工程SimulateIoc 我们先写二个Bean.内容都一样,只是类名不一样.定义一个Spring配置文件,我们起名字叫IocConfig.xml

JAVA实现两种方法反转单列表

/** * @author luochengcheng * 定义一个单链表 */ class Node { //变量 private int record; //指向下一个对象 private Node nextNode; public Node(int record) { super(); this.record = record; } public int getRecord() { return record; } public void setRecord(int record) { t

Java数组排序和插入

如何排序数组并插入元素? 以下示例显示如何使用sort()方法和用户定义的insertElement()方法来完成此任务. package com.yiibai; import java.util.*; public class ArraySortAndInsert { public static void main(String args[]) throws Exception { int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 }; Arra