黑马程序员—— 常用算法_JAVA_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > JAVA > 黑马程序员—— 常用算法

黑马程序员—— 常用算法

 2014/4/15 0:45:44  shi1870000  程序员俱乐部  我要评论(0)
  • 摘要:-------android培训、java培训、期待与您交流!----------黑马程序员——常用算法/*冒泡排序*/publicstaticvoidbubbleSort(int[]arr){for(intx=0;x<arr.length-1;x++){for(inty=0;y<arr.length-x-1;y++)//-x:让每一次比较的元素减少,-1:避免角标越界。{if(arr[y]<arr[y+1]){/*inttemp=arr[y];arr[y]=arr[y+1]
  • 标签:程序 程序员 常用 算法

------- android培训、java培训、期待与您交流! ----------

class="p0" style="text-indent: 21.0000pt; margin-bottom: 0pt; margin-top: 0pt;">?

? ? ? ? ? ? ? ? ? ? ? 黑马程序员——常用算法

/*

冒泡排序

*/

?

public?static?void?bubbleSort(int[]?arr)

{

for(int?x=0;?x<arr.length-1;?x++)

{

for(int?y=0;?y<arr.length-x-1;?y++)//-x:让每一次比较的元素减少,-1:避免角标越界。

{

if(arr[y]<arr[y+1])

{

/*

int?temp?=?arr[y];

arr[y]?=?arr[y+1];

arr[y+1]?=?temp;

*/

swap(arr,y,y+1);

}

}

}

}

?

/*

发现无论什么排序。都需要对满足条件的元素进行位置置换。

所以可以把这部分相同的代码提取出来,单独封装成一个函数。

*/

public?static?void?swap(int[]?arr,int?a,int?b)

{

int?temp?=?arr[a];

arr[a]?=?arr[b];

arr[b]?=?temp;

}

public?static?void?main(String[]?args)

{

int[]?arr?=?{5,1,6,4,2,8,9};

//排序前;

printArray(arr);

?

//排序

//selectSort(arr);

//bubbleSort(arr);

?

//Arrays.sort(arr);//java中已经定义好的一种排序方式。开发中,对数组排序。要使用该句代码。

//排序后:

printArray(arr);

?

}

?

public?static?void?printArray(int[]?arr)

{

System.out.print("[");

for(int?x=0;?x<arr.length;?x++)

{

if(x!=arr.length-1)

System.out.print(arr[x]+",?");

else

System.out.println(arr[x]+"]");

?

}

}

}

对给定的数组进行反转。

{3,1,5,6,2}?--->

{2,6,5,1,3}

*/

?

class??ArrayTest3

{

public?static?void?main(String[]?args)?

{

int[]?arr?=?{3,1,5,6,2};

printArray(arr);

?

//反转后;

reverseArray(arr);

?

printArray(arr);

?

}

public?static?void?reverseArray(int[]?arr)

{

for(int?start=0,end=arr.length-1;?start<end?;?start++,end--)

{

/*

int?temp?=?arr[start];

arr[start]?=?arr[end];

arr[end]?=?temp;

*/

swap(arr,start,end);

}

}

public?static?void?swap(int[]?arr,int?a,int?b)

{

int?temp?=?arr[a];

arr[a]?=?arr[b];

arr[b]?=?temp;

}

public?static?void?printArray(int[]?arr)

{

System.out.print("[");

for(int?x=0;?x<arr.length;?x++)

{

if(x!=arr.length-1)

System.out.print(arr[x]+",?");

else

System.out.println(arr[x]+"]");

?

}

}

}

/*

十进制-->十六进制。

*/

public?static?void?toHex(int?num)

{

?

StringBuffer?sb?=?new?StringBuffer();

?

for(int?x=0;?x<8;?x++)

{

int?temp?=?num?&?15;

if(temp>9)

//System.out.println((char)(temp-10+'A'));

sb.append((char)(temp-10+'A'));

else

//System.out.println(temp);

sb.append(temp);

?

num??=?num?>>>?4;

}

System.out.println(sb.reverse());

?

}

class?ArrayDemo3?

{

public?static?void?main(String[]?args)?

{

//数组的操作:

//获取数组中的元素。通常会用到遍历。

?

//int[]?arr?=?new?int[3];

int[]?arr?=?{3,6,5,1,8,9,67};

?

//数组中有一个属性可以直接获取到数组元素个数。length.

//使用方式:数组名称.length?=?

//System.out.println("length:"+arr.length);

?

//int?sum?=?0;

/*

for(int?x=0;?x<arr.length;?x++)

{

//sum?+=?arr[x];

System.out.println("arr["+x+"]="+arr[x]+";");//arr[0]=0;

}

*/

?

//System.out.println(arr);

?

printArray(arr);

//printArray(arr);

?

}

?

//定义功能,用于打印数组中的元素。元素间用逗号隔开。

public?static?void?printArray(int[]?arr)

{

System.out.print("[");

for(int?x=0;?x<arr.length;?x++)

{

if(x!=arr.length-1)

System.out.print(arr[x]+",?");

else

System.out.println(arr[x]+"]");

?

}

}

}

?

发表评论
用户名: 匿名