本帖最后由 samge 于 2015-11-1 02:26 编辑
[size=14.0000009536743px]
- class ArrayDemo
- {
- public static void main(String[] args)
- {
- int[] a ={23,13,34,533,34,545,6,63,132,24};
- //排序前
- printArray(a);
- int max = getMax(a);
- int min = getMin(a);
- System.out.println("max="+max);
- System.out.println("min="+min);
- //选择排序;
- //selectSort(a); //选择排序
- bubbleSort(a); //冒泡排序
- //排序后
- printArray(a);
- System.out.println("max="+a[a.length-1]);
- System.out.println("min="+a[0]);
- }
-
- /*
- 要求:定义一个功能,实现数组中的元素用逗号隔开输出
- */
- public static void printArray(int[] arr)
- {
- System.out.print("{ ");
- for(int i=0;i<arr.length;i++)
- {
- if(i!=arr.length-1)
- System.out.print(arr[i]+", ");
- else
- System.out.println(arr[i]+" }");
-
- }
- }
- /*
- 要求:定义一个求数组中最大的元素并输出。
- */
- public static int getMax(int[] arr)
- {
- int max = 0;
- for(int i = 1;i<arr.length;i++)
- {
- //max为数组的下标
- if(arr[i]>arr[max])
- max = i;
- }
- return arr[max];
- }
- /*
- 要求:定义一个求数组中最小的元素并输出。
- */
- public static int getMin(int[] arr)
- {
- int min = 0;
- for(int i = 0;i<arr.length;i++)
- {
- if(arr[i]<arr[min])
- min = i;
- }
- return arr[min];
- }
- /*
- 选择排序
- */
- public static void selectSort(int[] arr)
- {
- for(int i = 0;i<arr.length-1;i++) //i<arr.length-1是为了在比完倒数第二个后,最后一个数不需要比较了
- {
- for(int j = i+1;j<arr.length;j++)
- {
- if(arr[i] > arr[j])
- {
- int temp = arr[i];
- arr[i] = arr[j];
- arr[j] = temp;
- }
- }
- }
- }
- /*
- 冒泡排序,这里是从左往右冒,首先将Max冒出
- */
- public static void bubbleSort(int[] arr)
- {
- for(int i = 0;i<arr.length-1;i++) //i<arr.length-1是为了在比完倒数第二个数后,最后一个数不需要比较了
- {
- //lengh-i是因为外围循环每执行一次便冒出一个最大值,所以剩余需要比较的元素需要减1;
- //-1是为了防止下面if判断中的【j+1】可能造成下标越界
- for(int j = 0;j<arr.length-i-1;j++)
- {
- if(arr[j]>arr[j+1])
- {
- int temp = arr[j];
- arr[j] = arr[j+1];
- arr[j+1] = temp;
- }
- }
- }
- }
- }
复制代码
|
|