冒泡排序 以及二分法排序
//冒泡排序算法实现
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