美文网首页
常见排序算法和二分查找

常见排序算法和二分查找

作者: 偏城御 | 来源:发表于2018-03-21 22:21 被阅读0次

                       //冒泡排序

    //                         int[] intArr = {20,90,13,88,1,15,40};

    //                         for(int i = 0; i < intArr.Length-1; i++) {

    //                                  for(int j = 0; j <  intArr.Length-i-1;j++) {

    //                                           if(intArr[j]>intArr[j+1]) {

    //                                                     inttemp = intArr[j];

    //                                                     intArr[j] = intArr [j + 1];

    //                                                     intArr[j + 1] = temp;

    //                                           }

    //                                  }

    //                         }

                                //选择排序

    //                         int[] intArr = {20,90,13,88,1,15,40};

    //                         intmin;

    //                         intminindex;

    //                         for(int i = 0; i < intArr.Length-1; i++) {

    //                                  min= intArr [i];//记录最小值

    //                                  minindex= i;//记录最小值下标

    //                                  //找出剩余数组中的最小值

    //                                  for(int j = i+1; j < intArr.Length; j++) {

    //                                           if(intArr[j]

    //                                                     min= intArr [j];

    //                                                     minindex= j;

    //                                           }

    //                                  }

    //                                  intArr[minindex] = intArr [i];

    //                                  intArr[i] = min;

    //                         }

    //                         for(int i = 0; i < intArr.Length; i++) {

    //                                  Console.WriteLine(intArr[i]);

                                //插入排序

    //                                                     int[] arr = {12,35,0,54,33,23,22};

    //                                                     inttemp,p;

    //                                                     for(int i = 1; i < arr.Length; i++) {

    //                                                              temp= arr[i];

    //                                                              p= i - 1;

    //                                                              while(p>=0&&temp

    //                                                                       arr[p + 1] = arr [p];

    //                                                                       p--;

    //                                                              }

    //                                                              arr[p + 1] = temp;

    //                                                     }

    //                                                     for(int j =0; j

    //                                                              Console.Write("{0},",arr[j]);

    //                                                     }

                       }

             }

    }

    二分查找

    while(low<=high){

    int mid = (low+high)/2;

    //mid 代表中间索引,不能放到while循环的外面

    if(a[mid]) == key){

    Console.WriteLine("Find Key,index = "+mid);

    //如果中间的数大于要查找的数,把后面一半数组去掉

    }else if ( a[mid]>key ) {

    high = mid -1;

    }else{   //小于要查找的数,把前面的一半的数去掉

    low = mid +1;

    }

    }

    相关文章

      网友评论

          本文标题:常见排序算法和二分查找

          本文链接:https://www.haomeiwen.com/subject/canefftx.html