本帖最后由 燕国庆 于 2012-10-23 17:42 编辑
class SortDemo
{
public static void main(String[] args)
{
int[] arr={3,2,5,9,6,7,11,10,33,23};
bianLi(arr);
//maoSelect(arr);
selectSort(arr);
bianLi(arr);
}
public static void maoSelect(int[] arr)
{
for(int x=0;x<arr.length-1;x++) //在这里用到了以前毕老师说过的大圈套小圈的原理及嵌套循环,但是有点弄不清楚外循环河内循环的次数,
{
for(int y=0;y<arr.length-x-1;y++) //在这里不知道有没有涉及到老师说的“尖朝上的问题”,若有涉及到该问题不知道怎样理解?
{
if(arr[y]>arr[y+1])
{
int temp=arr[y];
arr[y]=arr[y+1];
arr[y+1]=temp;
}
}
}
}
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 temp=arr[x];
arr[x]=arr[y];
arr[y]=temp;
}
}
}
}
public static void bianLi(int[] arr)
{
System.out.print("[");
for(int x=0;x<arr.length;x++)
{
if(x<arr.length-1) //此条 语句若换成: if(x!=length-1)与原来的语句有什么区别没?
{
System.out.print(arr[x]+", ");
}
else
System.out.println(arr[arr.length-1]+"]");
}
}
}
这些地方总是感觉有点混沌,理解的不是那么清楚,希望有人能帮忙解释一下,谢谢!
|