以下是自己初学所做的示例笔记,可能不够规范,但对于本人新人来讲还是比较清晰的了,不足以及疏漏之处希望各位指点一下!
- import java.util.*;
- /*
- 需求:
- 1.定义一个可以存储10个整数的容器,
- 2.打印数组中角标为0的值,
- 3.对数组 int[] arr={2,45,56,4,65,87,345,6756,5435,675,43534,43634};进行遍历,
- 4.定义功能,用于打印数组中的元素,元素用逗号隔开
- 5.给定一个数组int[] arr={24,45,56,4,65,87,345,6756,5435,675,43934,43734};,获取数组中最大值以及最小值。
- 6.对数组int[] arr={24,45,56,4,65,87,345,6756,5435,675,43934,43734};进行从小到大和从大到小排序。
- 7对数组int[] arr={24,45,56,4,65,87,345,6756,5435,675,43934,43734}进行冒泡排序。
- */
- public class Sz
- {
- public static void bubbleSort1(int[] arr)
- {
- for(int x=0;x<arr.length-1;x++)
- {
- for(int y=0;y<arr.length-x-1;y++)
- //-x:让每一次比较的元素减少;-1:避免角标越界
- {
- if(arr[y]<arr[y+1])
- {
- /*
- int temp=arr[y];
- arr[y]=arr[y+1];
- arr[y+1]=temp;
- */
- swap(arr,y,y+1);
- }
- }
- }
- }
- //从大到小进行冒泡排序
- public static void bubbleSort(int[] arr)
- {
- for(int x=0;x<arr.length-1;x++)
- {
- for(int y=0;y<arr.length-x-1;y++)
- //-x:让每一次比较的元素减少;-1:避免角标越界
- {
- if(arr[y]>arr[y+1])
- {
- int temp=arr[y];
- arr[y]=arr[y+1];
- arr[y+1]=temp;
- }
- }
- }
- }
- //进行从小到大冒泡排序
- //冒泡排序:内循环结束一次,最值出现在最后位
- public static void selectSort(int[] arr)
- {
- for(int x=0;x<arr.length-1;x++)
- {
- for(int y=x+1;y<arr.length;y++)
- {
- if(arr[x]>arr[y])
- {
- int temp=arr[x];
- arr[x]=arr[y];
- arr[y]=temp;
- }
- }
- }
- }
- //进行从小到大排序
- public static void selectSort1(int[] arr)
- {
- for(int x=0;x<arr.length-1;x++)
- {
- for(int y=x+1;y<arr.length;y++)
- {
- if(arr[x]<arr[y])
- {
- /*
- int temp=arr[x];
- arr[x]=arr[y];
- arr[y]=temp;
- */
- swap(arr,x,y);
- }
- }
- }
- }
- //从大到小排序
- //选择排序:内循环结束一次,最值出现在头角标的位置上。
- /*
- 发现无论什么排序,在条件满足后的元素都需要进行位置置换,所以可以将这部分
- 相同的代码提取出来,对其封装,定义函数.
- */
- public static void swap(int[] arr,int a ,int b)
- {
- int temp=arr[a];
- arr[a]=arr[b];
- arr[b]=temp;
- }
- public static void getLine()
- {
- System.out.println("-------------------------------------");
- }
- //分割线
- public static void getArray(int[] arr)
- {
- System.out.print("[");
- for(int x=0;x<arr.length;x++)
- {
- if(x<arr.length-1)
- System.out.print(arr[x]+",");
- else
- System.out.print(arr[x]);
- }
- System.out.println("]");
- }
- //功能,用于打印数组中的元素,元素用逗号隔开
- public static int getMax(int[] arr)
- {
- int max=arr[0];
- for(int x=1;x<arr.length;x++)
- {
- if(max<arr[x])
- max=arr[x];
- }
- return max;
- }
- //获取数组中最大值
- public static int getLeast(int[] arr)
- {
- int least=arr[0];
- for(int x=1;x<arr.length;x++)
- {
- if(least>arr[x])
- least=arr[x];
- }
- return least;
- }
- //获取数组中最小值
- public static void main(String[] args)
- {
- //定义一个可以存储10个整数的容器
- int[] sum = new int[10];
- sum[0]=39;
- sum[1]=213;
- sum[2]=424;
- sum[3]=464;
- sum[4]=443;
- sum[5]=444;
- sum[6]=4354;
- sum[7]=434;
- sum[8]=474;
- sum[9]=4744;
- System.out.println(sum[0]);//打印数组中角标为0的值
- getLine();
- //对数组进行遍历
- int[] arr={24,45,56,4,65,87,345,6756,5435,675,43934,43734};
- for(int x=0;x<arr.length;x++)
- {
- //System.out.println("sum["+x+"]"+"="+sum[x]+";");
- System.out.println("arr["+x+"]"+"="+arr[x]+";");
- }
- getLine();
- //定义功能,用于打印数组中的元素,元素用逗号隔开
- getArray(arr);
- getLine();
- //给定一个数组,获取数组中最大值以及最小值。
- //获取数组中最大值
- int max1=0;
- for(int b=0;b<arr.length;b++)
- {
- if(arr[max1]<arr[b])
- max1=b;
- }
- System.out.println("max="+arr[max1]);
- getLine();
- //获取数组中最小值
- int least1=0;
- for(int b=0;b<arr.length;b++)
- {
- if(arr[least1]>arr[b])
- least1=b;
- }
- System.out.println("least="+arr[least1]);
- getLine();
- int max=getMax(arr);
- System.out.println("max="+max);
- getLine();
- int least=getLeast(arr);
- System.out.println("least="+least);
- getLine();
-
- selectSort(arr);
- getArray(arr);
- getLine();
- //选择排序:从小到大排序
- selectSort1(arr);
- getArray(arr);
- getLine();
- //选择排序:从大到小排序
- bubbleSort(arr);
- getArray(arr);
- getLine();
- //进行从小到大冒泡排序
- bubbleSort1(arr);
- getArray(arr);
- getLine();
- //进行从大到小冒泡排序
- Arrays.sort(arr);
- /*
- 在顶部定义import java.util.*;
- java中已经定义好的一种排序方式,开发中对数组排序,要使用该句代码。
- 效率相对稍高,不容易出错
- */
- getArray(arr);
- getLine();
- }
-
-
- }
复制代码
|
|