排序和查找

给定一个数组:

      int a[] = {28, 39, 49, 78, 23};//你可以用任意的测试数据

请对数组中的元素进行排序。

 

给定一个数字 x = 49,

请在排序后的数组中查找该元素。

要求:

       最好使用折半查找

       排序和查找自己写函数实现,不要使用标准API

 public class Mysort { //排序 public static void Sort(int array[]) { for(int i = 0; i < array.length; i++) { for(int j = i + 1; j < array.length; j++) { if(array[i] > array[j]) { int temp = array[j]; array[j] = array[i]; array[i] = temp; } } } System.out.println("排序后的数组为:"); for(int i = 0; i < array.length; i++) { System.out.print(array[i]+" "); } System.out.println(); } //查找 public static void Search(int array[],int n, int low, int high) { int mid = (low + high)/2; if(low < high) { if(n <= array[mid]) { Search(array, n, low, mid); } else { Search(array, n, mid + 1, high); } } else if(low == high) { if(n == array[mid]) { System.out.println("存在要查找的数x = "+n+",在数组的第 "+(low+1)+" 个位置。"); } else { System.out.println("数组中不存在要查找的数."); } } else { System.out.println("数组中不存在要查找的数."); } } public static void main(String[] args) { // TODO Auto-generated method stub int a[] = {28, 39, 49, 78, 23}; //调用排序函数 Sort(a); int x = 49; //调用查找函数 Search( a,x,0, a.length - 1); } }

你可能感兴趣的:(排序和查找)