前言:
现在各位老铁们对“java字符串数组排序”大概比较关怀,咱们都需要知道一些“java字符串数组排序”的相关资讯。那么小编也在网络上收集了一些关于“java字符串数组排序””的相关知识,希望同学们能喜欢,咱们一起来了解一下吧!java学习之数组元素排序
选择排序
*返回值类型 void
*参数列表 int[] arr
* 分析:选择排序
* 第一次arr[0]与arr[1-4]比较,总共比较4次
* 第二次arr[1]与arr[2-4]比较,总共比较3次
* 第三次arr[2]与arr[3-4]比较,总共比较2次
* 第四次arr[3]与arr[4]比较,总共比较1次
冒泡排序
返回值类型void
* 参数列表 int[] arr
* 分析:冒泡排序
* 第一次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3],arr[3]和arr[4]比较了4次
* 第二次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3]比较了3次
* 第三次比较arr[0]和arr[1],arr[1]和arr[2]比较了2次
* 第四次比较arr[0]和arr[1]比较了1次
package com.ifenx8.study.array;
publicclassDemo_BubbleSort{
/**
需求:
数组元素:{24, 69, 80, 57, 13}
请对数组元素进行排序。
*/
publicstaticvoid main(String[] args){
int[] arr ={24,69,80,57,13};
//bubbleSort(arr);//冒泡排序
selectSort(arr);//选择排序
print(arr);
}
/*
*返回值类型 void
*参数列表 int[] arr
*
* 分析:选择排序
* 第一次arr[0]与arr[1-4]比较,总共比较4次
* 第二次arr[1]与arr[2-4]比较,总共比较3次
* 第三次arr[2]与arr[3-4]比较,总共比较2次
* 第四次arr[3]与arr[4]比较,总共比较1次
*
*/
publicstaticvoid 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;*/
swap(arr, i , j);
}
}
}
}
/**冒泡排序
* 返回值类型void
* 参数列表 int[] arr
* 分析:
* 第一次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3],arr[3]和arr[4]比较了4次
* 第二次比较arr[0]和arr[1],arr[1]和arr[2],arr[2]和arr[3]比较了3次
* 第三次比较arr[0]和arr[1],arr[1]和arr[2]比较了2次
* 第四次比较arr[0]和arr[1]比较了1次
*
*/
publicstaticvoid bubbleSort(int[] arr){
for(int i =0; i < arr.length -1; i++){//外部循环比较的是第几次
for(int j =0; j < arr.length -1-i; j++){//内部循环比较了几次 if(arr[j] > arr[j + 1]){
/*int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;*/
swap(arr , j , j +1);
}
}
}
}
/*
*打印数组
*/
publicstaticvoidprint(int[] arr){
for(int i =0; i < arr.length; i++){
System.out.print(arr[i]+" ");
}
}
/*
* 把两个排序中共同的部分抽取成一个方法
* int temp = arr[i];
arr[i] = arr[j];
arr[j] = temp;
代码更简洁
*/
privatestaticvoid swap(int[] arr,int i ,int j){
int temp = arr[i];
arr[i]= arr[j];
arr[j]= temp;
}
}
标签: #java字符串数组排序