本帖最后由 王舜民 于 2012-8-29 06:59 编辑
import java.util.*;
class Demo2
{
public static void main(String[] args)
{
Random ran = new Random();
char[] ch = new char[10];
for (int i=0;i<ch.length ;i++ )
{
int n =ran.nextInt(26)+'A';//包含0,不包含100
ch = (char)n;
}
printchay(ch);//排序前
maoPao(ch);
printchay(ch);//排序后
}
public static void printchay(char[] ch) //遍历打印数组功能
{
System.out.print("[");
for(int x=0;x<ch.length;x++) //控制循环次数
{
if(x!=ch.length-1) //判断 没有到最后一个元素
System.out.print(ch[x]+",");
else
System.out.println(ch[x]+"]");
}
}
public static void maoPao(char[] ch)
{
for(int x=0;x<ch.length-1;x++)
{
for(int y=0;y<ch.length-x-1;y++)//ch.length控制数组长度 ;逐级减少比较次数用-x;为控制越界问题-1
{
/////互换元素
if(ch[y]>ch[y+1])//前面元素和后面元素比较大小。最值(最小值)出现右面的方法
{
//这边理论优化应该将互换元素重新作为一个方法,不过估计就和别人代码一样了
char temp = ch[y]; //通过临时的temp存储前面一个元素
ch[y]=ch[y+1];
ch[y+1]=temp; //
}
}
}
}
}
|
|