排序

来源:互联网 发布:制作vpn客户端软件 编辑:程序博客网 时间:2024/06/07 09:31

排序:

1. 冒号排序;


 *思想:两两比较,打的往后排,小的往前排,第一次比较完毕,
 *最大值出现在最大索引处,
 *依次这样比较,最终得到一个排好序的数组



public class ArrayDemo {
public static void main(String[] args) {
//定义一个数组,静态初始化
int[] arr={1,77,3,34,2,56,34,67};
System.out.println("排序前:");
printArray(arr);
System.out.println("排序后:");
maoPao(arr);
printArray(arr);
}
//冒泡排序的功能
public static void maoPao(int[] arr){


for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-1-x;y++){
if(arr[y]>arr[y+1]){
//定义中间变量,两两交换
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
//遍历数组,写一个方法实现他的功能
public  static void printArray(int[] arr1){
System.out.print("[");
for(int x=0;x<arr1.length;x++){
if(x==arr1.length-1){
System.out.println(arr1[x]+"]");
}else{
System.out.print(arr1[x]+",");
}

}
}
}
2.选择排序
 * 思想:
 1)用0索引对应的元素和后面索引对应的元素依次比较,小的往前放,第一次比较完毕
 * 最小值出现在最小索引处
 * 2)用0索引依次比较
 * 用1 索引依次比较
 *......
 *用arr.leng-1和arr.length-2索引依次比较

 */
public class ArrayDemo {
public static void main(String[] args) {
//定义一个数组,静态初始化
int[] arr={34,45,12,4,787,3,23};
System.out.println("排序前:");
printArray(arr);

System.out.println("排序后:");
change(arr);
printArray(arr);
}
//使用一个功能,实现选择排序
public static void change(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[y]<arr[x]){
//定义中间变量实现值的互换
int temp=arr[y];
arr[y]=arr[x];
arr[x]=temp;
}
}
}
}
//使用一个功能,遍历数组
public static void printArray(int[] arr){
System.out.print("[");
for(int x=0;x<arr.length;x++){

if(x==arr.length-1){
System.out.println(arr[x]+"]");
}else{
System.out.print(arr[x]+",");
}


}
}
}
原创粉丝点击