A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 于世德 中级黑马   /  2013-7-16 12:41  /  1132 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

  1. public class ArrayTest{

  2. //1、选择排序
  3. public static void selectSort(int[] arr)
  4. {
  5. for (int x=0; x<arr.length-1; x++)
  6. {
  7. //每次循环之后把最小的数放在数组下标为x的位置
  8. for(int y=x+1; y<arr.length; y++)
  9. {
  10. if(arr[x]>arr[y])
  11. {
  12. int temp = arr[x];
  13. arr[x] = arr[y];
  14. arr[y]= temp;

  15. }
  16. }
  17. }
  18. }
  19. //2、冒泡排序
  20. public static void bubbleSort(int[] arr)
  21. {
  22. for(int x=0; x<arr.length-1; x++)
  23. {
  24. //每次循环之后把最小的元素放在数组的arr.length-1-x的位置上
  25. for(int y=0; y<arr.length-x-1; y++)
  26. {
  27. if(arr[y]<arr[y+1])
  28. {
  29. int temp = arr[y];
  30. arr[y] = arr[y+1];
  31. arr[y+1] = temp;
  32. }
  33. }
  34. }
  35. }
  36. //3、对给定的数组进行反转
  37. public static void reverseArray(int[] arr)
  38. {
  39. for(int start=0,end=arr.length-1; start<end ; start++,end--)
  40. {
  41. int temp = arr[start];
  42. arr[start] = arr[end];
  43. arr[end] = temp;
  44. }
  45. }
  46. /*
  47. * 4、折半查找 提高效率,但是必须要保证该数组是有序的数组
  48. */
  49. public static int halfSearch(int[] arr,int key)
  50. {
  51. int min,max,mid;
  52. min = 0;
  53. max = arr.length-1;
  54. mid = (max+min)/2;//数组的中间下标

  55. while(arr[mid]!=key)
  56. {
  57. if(key>arr[mid])
  58. min = mid + 1;
  59. else if(key<arr[mid])
  60. max = mid - 1;

  61. if(min>max)
  62. return -1;//没有在数组中找到该元素
  63. mid = (max+min)/2;
  64. }
  65. return mid;
  66. }

  67. public static void main(String[] args) {
  68. int[] arr = {5,1,6,4,2,8,9};
  69. selectSort(arr);//{1,2,4,5,6,8,9}
  70. bubbleSort(arr);//{9,8,6,5,4,2,1}
  71. reverseArray(arr);//{9,8,2,4,6,1,5}
  72. int[] arr1 = {1,3,4,5,7,8,10,20};
  73. int index = halfSearch(arr1,8);
  74. if(index == -1){
  75. System.out.println("查找的元素不存在");
  76. }else {
  77. System.out.println(index);//5
  78. }

  79. }

  80. }
复制代码

评分

参与人数 1技术分 +1 收起 理由
神之梦 + 1 很给力!

查看全部评分

3 个回复

倒序浏览
不错不错~~~
回复 使用道具 举报
支持下        
回复 使用道具 举报

您的支持是我前进的动力:lol
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马