本文共 1797 字,大约阅读时间需要 5 分钟。
说明一维数组的两种方式:数组元素类型 数组名称[];int a[];数组元素类型[] 数组名称;int[] a声明后再为它们分配空间:数组名字 = new 数组元素类型[数组元素个数];arr = new int[5];arr.length是获取arr数组的长度//数组中第一个元素的索引是0为二维数组分配内存的两种方法一、int a[][]; a=new int [2][4];二、int b[][]; b=new int[2][]; b[0]=new int[2]; b[1]=new int[2]; 可以只声明行,而不可以只声明列
冒泡排序是相邻两个元素去比较,大的往下沉,小的网上浮
public class Maopao { /** * @param args */ public void sort(int[] arr) { //排序数组 for (int i = 1; i < arr.length; i++) { for (int j = 0; j < arr.length-i; j++) { if ( arr[j]>arr[j+1]) { int temp; temp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } } output(arr); } public void output(int[] arr){ //输出排序好的数组 System.out.println("冒泡排序的结果为:"); for (int i : arr) { //用i输出arr数组里面所有的元素 System.out.print(i+" "); } System.out.println(); } public static void main(String[] args) { // TODO Auto-generated method stub int arr[]=new int[]{ 20,50,30,10,40}; Maopao maopao=new Maopao(); maopao.sort(arr); }}
直接排序是先指定一个排序位置(如末尾或开头),让指定元素与其他元素逐一比较,如果比较出最大值或最小值,那么就需要交换两个元素的位置
public class Direct { /** * @param args */ private void sort(int[] brr) { for (int i = 1; i < brr.length; i++) { int temp=0; for (int j = 1; j <= brr.length-i; j++) { if (brr[j]>brr[temp]) { temp=j; } //相当于最大的值调到最后面 int keep=brr[brr.length-i];//把最后一个的值存储在临时变量中 brr[brr.length-i]=brr[temp];//把最大的值保存到放在最后 brr[temp]=keep; } } out(brr); } private void out(int[] brr){ System.out.println("直接排序的结果为:"); for (int i : brr) { System.out.print(i+" "); } } public static void main(String[] args) { // TODO Auto-generated method stub int brr[]=new int[]{ 40,20,50,10,30,0}; Direct direct=new Direct(); direct.sort(brr); }}
Arrays.sort(要排序的数组)——————可直接从小到大排序
转载地址:http://qaqzi.baihongyu.com/