冒泡排序 以及二分法排序

//冒泡排序算法实现
void Main() { int[] num=new int[]{71,6,1,22,12,66,0,9}; //定义一个数组 BubbleSort(ref num); for (int i = 0; i < num.Length-1; i++) { Console.WriteLine (num[i]); } Console.Read(); }   //冒泡排序方法 从大到小 排序 public static void BubbleSort(ref int[] nums) { int temp; for (int i = 0; i < nums.Length-1; i++) { for (int j = 0; j < nums.Length-1-i; j++) {    //交换位置 if (nums[j]>nums[j+1]) { temp=nums[j+1]; nums[j+1]=nums[j]; nums[j]=temp; } } } }

  

  // 二分法
void Main() { // 定义一个数组 int[] nums={1,6,7,8,22,44,56,78,231,678}; int start=HalfSearch(nums,678); Console.WriteLine (start); Console.Read(); }
// 二分法求出数字所在的位置 该数组必须是有序的, 从大到小或者从小到大的顺序 public static int HalfSearch(int[] nums,int index) { int low=0; int high=nums.Length-1; int middle; while(nums[high]>=nums[low]) { middle=(low+high)/2; if (nums[middle]>index) { high=middle-1; } else if (index>nums[middle]) { low=middle+1; } else { return middle; } } return -1; } // Define other methods and classes here

  

posted @ 2014-11-24 20:42  落日云烟  阅读(164)  评论(0编辑  收藏  举报