/**这是一个冒泡排序的小程序 冒泡排序是指把待排序列中的元素当作气泡一样,让它冒出水面。具体是从序列中的第一个元素开始将p[i]与p[i+1]进行比较看是否是逆序,是则交换它们的值,这样可以将最值移到p[n-1],然后再开始一次,将最值移到p[n-2],如此循环到将最值移到p[n-n]; */ public class BubbleSort { public static char []ascending(char [] with){ //char类型递增排序 char temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] > with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static char []descending(char [] with){ //char类型递减排序 char temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] < with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static int []ascending(int [] with){ //int类型递增排序 int temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] > with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static int []descending(int [] with){ //int类型递减排序 int temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] < with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static long []ascending(long [] with){ //long类型递增排序 long temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] > with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static long []descending(long [] with){ //long类型递减排序 long temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] < with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static float []ascending(float [] with){ //float类型递增排序 float temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] > with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static float []descending(float [] with){ //float类型递减排序 float temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] < with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static double []ascending(double [] with){ //double类型递增排序 double temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] > with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } public static double []descending(double [] with){ //double类型递减排序 double temp; int length = with.length; //计算数组的长度 for(int i=length-1; i>=0; i--){ //i表示最值被移到的位置 for(int j=0; j<i; j++){ //通过冒泡寻找最值 if(with[j] < with[j+1]){ //如果逆序则交换 temp = with[j+1]; with[j+1] = with[j]; with[j] = temp; } } } return with; } /*public static void main(String []args){ //char []test = {'d','h','y','4','5','旧','q','o','3'}; //测试数组 //char []temp; //int []test = {1,2,5,4,8,6,5,2,14,5,4,8,9,6,5,2,55,11,00,1,0}; //int []temp; //long []test = {4,5,4,5,4,5,2,5,22,11,10,11,02,11,14,25,2,1,0,45,54,65,56,32}; //long []temp; //float []test = {1.2f,3.2f,6.3f,5.3f,6.0f,5f,9.5f,1.1f,2,5f,3f,2f,6f,5f,4f,7f,8f,9f,0}; //float []temp; double []test = {1.2,2.1,3.2,1.3,36.2,63.2,0.2,0,2.3,.1,5.3,9.5}; double []temp; temp = ascending(test); int length = temp.length; System.out.println("this is sort Ascending:"); //递增测试 for(int i=0; i<length; i++){ System.out.println(temp[i]); } temp = descending(test); System.out.println("this is sort descending:"); //递减测试 for(int i=0; i<length; i++){ System.out.println(temp[i]); } }*/ }