冒泡 和选择排序 我觉得 是 考你个人理解和区分能力的- package daydanmonth;
- //排序的那些事,选择排序+冒泡排序
- import java.util.*;//一个最方便 另加的 java内置功能
- public class ArrayText {
- /**
- * 需求:从已有的数组从小到大依次排列
- * 方法:
- * 1:定义两个未知变量,通过for循环进行两个函数之间的两两依次进行对比,相对较大的元素 靠后排列
- * 2; 设置一个具有间隔符功能的函数,从而使输出的排列数组更加美观
- *
- *
- * 输出结果:
- * [1, 2, 3, 4, 2, 1, 2, 3, 4, 5, 6, 7, 3, 2, 2, 2, 21]
- [1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 21]
-
- [1, 2, 3, 4, 2, 1, 2, 3, 4, 5, 6, 7, 3, 2, 2, 2, 21]
- [1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 6, 7, 21]
- */
- //数组的排序----选择排序:从数组第一个元素开始,和后面的元素对比,最小的排最前,与此类推
- public static void selectSort(int []arr)
- {
- for(int x=0;x<arr.length;x++)
- {
- for(int y=x+1;y<arr.length;y++)//y代表位置相对靠后的元素
- {
- if(arr[x]>arr[y])//如果想从大到小排列的话只需把>变成<
- {
- //int temp=arr[x];//定义一个中间值以便两变量互换位置
- // arr[x]=arr[y];
- //arr[y]=temp;
-
- swap(arr,y,x);//利用函数功能进行 换位
- }
- }
- }
- }
- public static void printArry(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 void bubbleSort(int []arr)
- {
- for(int x=0;x<arr.length-1;x++)
- {
- for(int y=0;y<arr.length-x-1;y++)
- {
- 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 swap(int[]arr,int a,int b)
- {
- int temd=arr[a];
- arr[a]=arr[b];
- arr[b]=temd;
- }
- public static void main(String[] args)
- {
- int arr[]={15,2,3,4,2,1,2,3,4,5,6,7,3,2,2,2,21};
-
- System.out.print("排列前: ");
- printArry(arr);//排列前
-
- System.out.print("选择排序法:");
- selectSort(arr);//进行排列
- printArry(arr);//排列后
-
- System.out.print("冒泡排序法:");
- bubbleSort(arr);
- printArry(arr);//排列后
-
- System.out.print("Arrays.sort--Java内置排序:");
- System.out.println();
- Arrays.sort(arr);
- printArry(arr);
-
-
-
- }
- }
-
-
复制代码
但是在日常开发中 一般用 ArrayList TreeSet TreeMap 之类的,,毕竟人家都已经封装好了 你直接拿出来用就行了 这也是面向对象的精华所在 哈 |