冒泡排序:相邻的两个元素进行比较,如果符合条件要求
/*
* 按照排序打印数组 有小到大的排序打印
* 冒泡排序
* java定义好多排序
* 发现排序是的 交换位置是一致的 可以封装成函数
*/
package Wuyuejichu;
import java.util.Arrays;
//选择逐一排序
public class ShuzuDemo4 {
public static void selectSort(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
/*
int tmp=arr[x];
arr[x]=arr[y];
arr[y]=tmp;
*/
swap(arr,x,y);
}
}
}
}
//冒泡排序
public static void bubblesort(int[] arr){
for(int x=0;x<arr.length-1;x++){
for(int y=0;y<arr.length-x-1;y++){ //-x:让每一次比较元素减1 -1:避免数组越界
if( arr[y]<arr[y+1]){
/*
int tmp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=tmp;
*/
swap(arr,y,y+1);
}
}
}
}
//封装函数 交换
public static void swap(int[] arr ,int a,int b){
int tmp=arr[a];
arr[a]=arr[b];
arr[b]=tmp;
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={3,4,7,2,1,9,6};
System.out.println("原数组:");
// //比较前的打印前
printArry(arr );
selectSort(arr);/*
* 按照排序打印数组 有小到大的排序打印
*/
package Wuyuejichu;
public class ShuzuDemo4 {
public static void selectSort(int[] arr){
for(int x=0;x<arr.length-1;x++){ //arr.length-1 最后 不用进行比较
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int tmp=arr[x];
arr[x]=arr[y]; //借用第三方比较
arr[y]=tmp;
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={3,4,7,2,1,9,6};
//比较前的打印前
printArry(arr );
selectSort(arr);
//比较后的打印
printArry(arr);
}
//打印数组
public static void printArry(int[] arr){
System.out.print("{");
for(int x=0;x<arr.length;x++){
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"}");
}
}
}
// //比较后的打印
System.out.println("选择注意排序后的数组");
printArry(arr);
System.out.println("JAVA中自定义的Arrays.sort升序排序:");
Arrays.sort(arr); //JAVA中定义好的升序排序,开发中用到
printArry(arr);
System.out.println("冒泡排序:");
bubblesort(arr);
printArry(arr );
}
//打印数组
public static void printArry(int[] arr){
System.out.print("{");
for(int x=0;x<arr.length;x++){
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"}");
}
}
}
/*
* 按照排序打印数组 有小到大的排序打印
*/
package Wuyuejichu;
public class ShuzuDemo4 {
public static void selectSort(int[] arr){
for(int x=0;x<arr.length-1;x++){ //arr.length-1 最后 不用进行比较
for(int y=x+1;y<arr.length;y++){
if(arr[x]>arr[y]){
int tmp=arr[x];
arr[x]=arr[y]; //借用第三方比较
arr[y]=tmp;
}
}
}
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] arr={3,4,7,2,1,9,6};
//比较前的打印前
printArry(arr );
selectSort(arr);
//比较后的打印
printArry(arr);
}
//打印数组
public static void printArry(int[] arr){
System.out.print("{");
for(int x=0;x<arr.length;x++){
if(x!=arr.length-1)
System.out.print(arr[x]+",");
else
System.out.println(arr[x]+"}");
}
}
} |