【Java之数据结构与算法】
- 开源代码
- 2025-07-21 19:08:41

选择排序
package Code01; public class Code01_SelectionSort { public static void selectionSort(int[] arr) { if(arr==null||arr.length<2) { return; } for(int i=0;i<arr.length;i++) { int minIndex = i; for(int j=i+1;j<arr.length;j++) { minIndex = arr[minIndex] > arr[j] ? j : minIndex; } swap(arr,i,minIndex); } } public static void swap(int[] arr,int i,int j) { int tmp=arr[j]; arr[j]=arr[i]; arr[i]=tmp; } public static void printArray(int[] arr) { for (int i=0;i<arr.length;i++) { System.out.print(arr[i]+" "); } System.out.println(); } public static void main(String[] args) { int[] arr= {7,5,6,8,9,1,5,2,3,6}; printArray(arr); selectionSort(arr); printArray(arr); } }冒泡排序
public static void bubbleSort(int[] arr) { if(arr==null||arr.length<2) { return; } for(int end=arr.length-1;end>=0;end--) { for(int second=1;second<=end;second++) { if(arr[second-1]>arr[second]) { swap(arr,second-1,second); } } } }插入排序
public static void insertSort1(int[] arr) { if(arr==null||arr.length<2) { return; } for(int end=1;end<arr.length;end++) { int newNumIndex=end; while(newNumIndex-1>=0 && arr[newNumIndex-1]>arr[newNumIndex]) { swap(arr,end-1,end); newNumIndex--; } } } public static void insertSort2(int[] arr) { if(arr==null||arr.length<2) { return; } for(int end = 1 ; end < arr.length ; end++) { //pre 新数的前一个位置 for(int pre = end-1 ; pre>=0 && arr[pre] > arr[pre+1] ; pre--) { swap(arr , pre , pre+1); } } }【Java之数据结构与算法】由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“【Java之数据结构与算法】”