数组-查找及排序

查找及排序

查找

  • 线性查找
  • 二分查找

    排序

  • 选择排序

    1. 直接选择排序
    2. 堆排序
  • 交换排序
    1. 冒泡排序
    2. 快速排序
  • 插入排序
    1. 直接插入排序
    2. 折半插入排序
    3. shell排序
  • 归并排序
  • 桶式排序
  • 基数排序

    线性查找、二分查找、冒泡排序的代码

  1. //线性查找
  2. int array[] = {1,2,3,4,5,6};
  3. int temp = 2;
  4. for(int i=0;i<array.length;i++){
  5. if(temp==array[i]){
  6. System.out.println("查找到数据,下标为:"+i);
  7. }
  8. }
  9. //二分查找(必须是有序的集合)
  10. int start = 0;
  11. int end = array.length-1;
  12. while(start<=end){
  13. int mid = (start+end)/2;
  14. if(temp==array[mid]){
  15. System.out.println("查找到数据,下标为:"+mid);
  16. break;
  17. }else if(temp<array[mid]){
  18. end = mid-1;
  19. }else {
  20. start = mid + 1;
  21. }
  22. }
  23. //冒泡排序
  24. int[] array1 = {2,5,1,7,3,9,7};
  25. for(int i =0;i<array1.length;i++){
  26. for(int j = 0;j<array1.length-1-i;j++){
  27. if(array1[j]>array1[j+1]){
  28. int num = array1[j];
  29. array1[j] = array1[j+1];
  30. array1[j+1] = num;
  31. }
  32. }
  33. }
  34. System.out.println(Arrays.toString(array1));