`
shi1870000
  • 浏览: 4963 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

黑马程序员—— 常用算法

    博客分类:
  • java
阅读更多

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

 

                      黑马程序员——常用算法

/*

冒泡排序

*/

 

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]+"]");

 

}

}

}

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics