• 插入排序


     1 static class InSertionSort
     2     {
     3         static void InsertionSortUp(int[] Array)
     4         {
     5             for (int i = 1; i < Array.Length; i++)
     6             {
     7                 int key = Array[i];
     8                 int j = i - 1;
     9                 while (j >= 0 && Array[j] > key)
    10                 {
    11                     Array[j + 1] = Array[j];
    12                     j--;
    13                 }
    14                 Array[j + 1] = key;
    15             }
    16         }
    17         static void InsertionSortDown(int[] Array)
    18         {
    19             for (int i = 0; i < Array.Length; i++)
    20             {
    21                 int key = Array[i];
    22                 int j = i - 1;
    23                 while (j >= 0 && Array[j] < key)
    24                 {
    25                     Array[j + 1] = Array[j];
    26                     j--;
    27                 }
    28                 Array[j + 1] = key;
    29             }
    30         }
    31     }

    问题一:本人想将 升降序两个方法进行封装  使得方法声明类似于  InsertionSort(int[] Array,bool asc),通过 asc 的值  来控制方法的升降序,不知道有什么好的方法。

    问题二:目前只是int类型的比较,希望在丰富一下排序的类型,譬如string 或者 自定义类的某个属性 等等   

    希望园里的大神  不吝赐教!!!

  • 相关阅读:
    Mysql初识
    滚动监听实例
    利用div显示隐藏实现的分页效果
    animation动画汇总(一阶段项目)
    css3动画效果
    animate动画基础
    切换式轮播方式
    Ajax基础
    Jquery日历编写小练习
    [转]好文章:Android的AlertDialog详解
  • 原文地址:https://www.cnblogs.com/Nbird/p/5862628.html
Copyright © 2020-2023  润新知