java冒泡算法小程序
/**这是一个冒泡排序的小程序
冒泡排序是指把待排序列中的元素当作气泡一样,让它冒出水面。具体是从序列中的第一个元素开始将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]);
}
}*/
}
文章出处:飞诺网(http://www.diybl.com/course/3_program/java/javajs/20090526/167845.html)