java面试中 排序算法
java中有两种最常见的排序算法
选择排序算法 冒泡排序算法
代码案例:
class sort
{
public static void main(String[] args)
{
//定义一个数组
int[] arr={2,6,1,3,4};
//调用打印数组的方法
printArray(arr);
//排序
//selectSort(arr);
bubbleSort(arr);
//打印排序之后
printArray(arr);
}
//定义一个方法就是打印数组的方法
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.print(arr[i]+"]");
}
}
}
//选择排序法
public static void selectSort(int[] arr){
//选择排序的核心就是两个相邻的元素之间相互交换位置
//外层循环控制的表较的轮数
for(int i=0;i<arr.length-1;i++){
//内层循环,只有当内存循环完毕的时候,才会执行下一轮,也就是下一个外层循环
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;
}
}
}
}
//冒泡排序法
//冒泡排序法的核心思想就是:把相邻的两个元素进行一个比较,然后交换位置
public static void bubbleSort(int[] arr){
//循环 外层循环也是控制的是比较的轮数
for(int i=0;i<arr.length-1;i++){
//内层循环才是真正的比较
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;
}
}
}
}
}
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。