黑马程序员技术交流社区
标题:
New灬狼的学习笔记--ArrayTest01
[打印本页]
作者:
New灬狼
时间:
2015-12-29 21:01
标题:
New灬狼的学习笔记--ArrayTest01
/**
New灬狼
2015年12月24日18:43:38
*/
/*
需求:定义一个功能,对数组进行升序和降序排列。
思路:
1,对数组进行排序,其实就是数组中两个数进行比较,
将位置不对的两个数进行位置互换。
2,可以选择【选择排序法】进行排序;
原理是:用数组中的任意一个元素和其他元素一一进行比较,
一圈比较下来就会确定排序的第一个元素,然后依次将剩下的元素再比较一遍,
直到最后一个元素时,因为不用比较也已经却定了位置,所以排序也就完成了。
步骤:
1,新建ArrayTest01.java;
2,定义换位功能,swap;
3,定义选择排序功能,selectSort;
4,定义一个数组;
5,输出排序前的序列;
6,排序;
7,输出排序后的序列。
*/
class ArrayTest01
{
//定义换位功能:两个未知数参与运算,但是由于是一个数组里的两个元素,所以把数组也传进来;
//由于没有运算结果,所以返回值类型是void。
public static void swap(int [] arr,int a,int b)
{
int temp = arr[a];
//System.out.print(temp+"\t");
arr[a] = arr[b];
//System.out.print(a+"\t");
arr[b] = temp;
//System.out.println(b+"\t");
}
//定义选择排序中的升序排序 selectSort
//返回值类型:无,void;
//参与运算的未知内容:一个数组;
public static void selectSort(int [] arr)
{
for (int x=0;x<arr.length ;x++ )
{
for (int y =x+1;y<arr.length ;y++ ) //-1:是为了防止角标越界;
{
if(arr[x]>arr[y])
{
/*
不调用swap时的做法。
int temp = arr[y];
//System.out.print("【"+temp+"\t");
arr[y] =arr[y+1];
//System.out.print(arr[y+1]+"\t");
arr[y+1] =temp;
//System.out.print(arr[y]+"】");
//printArray(arr);
*/
swap(arr,x,y); //调用swap函数;
}
}
}
}
public static void main(String []args)
{
int [] arr = {3,1,8,4,6,5,9,7,2};
printArray(arr);
selectSort(arr);
printArray(arr);
}
public static void printArray(int[] arr )
{
System.out.print("数组中的元素是:\n{ ");
for (int x=0;x<arr.length ;x++ )
{
if(x!=arr.length-1)
{
System.out.print("["+x+"]="+(arr [x])+" ,");
}
else
{
System.out.println("["+x+"]="+(arr [x])+" }\n");
}
}
}
}
复制代码
作者:
337325635
时间:
2015-12-29 21:39
{:2_33:}今天刚学的 好绕啊 晕死了
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2