三大排序
最近又一次细致地学习了三大排序方法,分别是冒泡排序方法,选择排序方法,直接插入排序法
下面是具体实现代码,后面我会录制一个视频来详细讲解这三大排序。
冒泡排序法java实现代码:
package paixu;
import java.util.Scanner;
public class MaoPao {
public static void main(String[] args){
//冒泡排序法
Scanner sc=new Scanner(System.in);
int []array;
System.out.print("请输入排序的元素个数:\n");
int count=sc.nextInt();
array=new int[count];
System.out.print("请输"+ count +"入元素\n");
for(int i=0;i<array.length;i++){
array[i]=sc.nextInt();
}
sc.close();
System.out.print("----------排序前----------\n");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
//冒泡排序核心代码开始
System.out.println();
for(int i=0;i<array.length-1;i++){
for(int j=0;j<array.length-i-1;j++){
if(array[j]>array[j+1]){
int num=array[j];
array[j]=array[j+1];
array[j+1]=num;
}
}
}
//冒泡排序核心代码结束
System.out.print("----------排序后-----------\n");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
}
}
选择排序java实现代码
package paixu;
import java.util.Scanner;
public class Select {
public static void main(String[] args){
Scanner scanner=new Scanner(System.in);
int []array;
System.out.println("请输入排序元素的个数:");
int count=scanner.nextInt();
array=new int[count];
System.out.println("请输入"+ count +"个元素:");
for(int i=0;i<array.length;i++){
array[i]=scanner.nextInt();
}
scanner.close();
System.out.println("----------排序前-----------");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
System.out.println();
//选择排序法核心代码开始
for(int i=0;i<array.length-1;i++){
int index=i;
for(int j=i;j<array.length-1;j++){
if(array[index]>array[j+1]){
index=j+1;
}
}
int num=array[i];
array[i]=array[index];
array[index]=num;
}
//选择排序法核心代码结束
System.out.println("------------排序后------------");
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
}
}
直接插入排序实现代码
package paixu;
public class Insert {
public static void main(String[] args) {
// TODO Auto-generated method stub
int array[]={5,4,3,2,1};
//直接插入排序核心代码开始
for(int i=0;i<array.length-1;i++){
int num=array[i+1]; //
int index=i+1;
for(int j=i;j>=0;j--){
if(num<array[j]){
array[j+1]=array[j];
index=j;
}else{
break;
}
}
array[index]=num;
}
//直接插入核心代码结束
for(int i=0;i<array.length;i++){
System.out.print(array[i]+"\t");
}
}
}