JAVA中在运用数组进行排序功能时,一般有四种方法:快速排序法、冒泡法、选择排序法、插入排序法。
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
package 数组;
import java.util.Arrays;
public class Keys {
public static void main(String[] args) {
int [] array={90,10,100,20,35,78};
Key1(array);
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
Key2(array);
for(int j=0;j<array.length;j++){
System.out.println(array[j]);
}
Key3(array);
Key4(array);
for(int k=0;k<array.length;k++){
System.out.println(array[k]);
}
}
//选择排序
public static int [] Key1(int [] array){
for(int i=0;i<array.length-1;i++){
int min=i;
for(int j=i+1;j<array.length;j++){
if(array[min]>array[j]){
min=j;
}
}
if(min!=i){
int temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
return array;
}
//插入排序
public static int [] Key2(int [] array){
for(int i=1;i<array.length;i++){
for(int j=i;j>0;j--){
if(array[j]<array[j-1]){
int temp=array[j];
array[j-1]=temp;
array[j]=array[j-1];
}
}
}
return array;
}
//快速排序
public static void Key3(int [] array){
Arrays.sort(array); //进行排序
for(int i:array){
System.out.println(i);//println:写完后换行 print:写完后不换行
}
}
//冒泡排序
public static int [] Key4(int [] array){
for(int i=0;i<array.length-1;i++){
for(int j=i;j<array.length-1;j++){
if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
}
快速排序法主要是运用了Arrays中的一个方法Arrays.sort()实现。
冒泡法是运用遍历数组进行比较,通过不断的比较将最小值或者最大值一个一个的遍历出来。
选择排序法是将数组的第一个数据作为最大或者最小的值,然后通过比较循环,输出有序的数组。
插入排序是选择一个数组中的数据,通过不断的插入比较最后进行排序。下面我就将他们的实现方法一一详解供大家参考。
package 数组;
import java.util.Arrays;
public class Keys {
public static void main(String[] args) {
int [] array={90,10,100,20,35,78};
Key1(array);
for(int i=0;i<array.length;i++){
System.out.println(array[i]);
}
Key2(array);
for(int j=0;j<array.length;j++){
System.out.println(array[j]);
}
Key3(array);
Key4(array);
for(int k=0;k<array.length;k++){
System.out.println(array[k]);
}
}
//选择排序
public static int [] Key1(int [] array){
for(int i=0;i<array.length-1;i++){
int min=i;
for(int j=i+1;j<array.length;j++){
if(array[min]>array[j]){
min=j;
}
}
if(min!=i){
int temp=array[i];
array[i]=array[min];
array[min]=temp;
}
}
return array;
}
//插入排序
public static int [] Key2(int [] array){
for(int i=1;i<array.length;i++){
for(int j=i;j>0;j--){
if(array[j]<array[j-1]){
int temp=array[j];
array[j-1]=temp;
array[j]=array[j-1];
}
}
}
return array;
}
//快速排序
public static void Key3(int [] array){
Arrays.sort(array); //进行排序
for(int i:array){
System.out.println(i);//println:写完后换行 print:写完后不换行
}
}
//冒泡排序
public static int [] Key4(int [] array){
for(int i=0;i<array.length-1;i++){
for(int j=i;j<array.length-1;j++){
if(array[j]>array[j+1]){
int temp=array[j];
array[j]=array[j+1];
array[j+1]=temp;
}
}
}
return array;
}
}