C#四大算法
    文章来源 本站原创 文章来源 jdxs 文章来源 [2008-4-30 13:58:17] 文章来源  文章来源 收藏本站
  • 冒泡排序

    using System;
    namespace BubbleSorter
    { public class BubbleSorter
    { public void Sort(int [] list)
    { int i,j,temp;
      bool done=false;
      j=1;
      while((j<list.Length)&&(!done))
    { done=true;
      for(i=0;i<list.Length-j;i++)
    {
      if(list[i]>list[i+1])
    {
      done=false;
      temp=list[i];
      list[i]=list[i+1];
      list[i+1]=temp;
    } }
    j++; }
    } }
    public class MainClass
    { public static void Main()
    {
      int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
      BubbleSorter sh=new BubbleSorter();
      sh.Sort(iArrary);
      for(int m=0;m<iArrary.Length;m++)
      Console.Write("{0} ",iArrary[m]);
      Console.WriteLine();
    } }
    }

    选择排序

    using System;
    namespace SelectionSorter
    { public class SelectionSorter
    { private int min;
      public void Sort(int [] list)
    { for(int i=0;i<list.Length-1;i++)
    { min=i;
    for(int j=i+1;j<list.Length;j++)
    { if(list[j]<list[min])
      min=j;
    }
      int t=list[min];
      list[min]=list[i];
      list[i]=t;
    } }
    }
    public class MainClass
    { public static void Main()
    {
      int[] iArrary=new int[]{1,5,3,6,10,55,9,2,87,12,34,75,33,47};
      SelectionSorter ss=new SelectionSorter();
      ss.Sort(iArrary);
      for(int m=0;m<iArrary.Length;m++)
      Console.Write("{0} ",iArrary[m]);
      Console.WriteLine();
    } }
    }

    插入排序

    using System;
    namespace InsertionSorter
    { public class InsertionSorter
    { public void Sort(int [] list)
    { for(int i=1;i<list.Length;i++)
    { int t=list[i];
      int j=i;
      while((j>0)&&(list[j-1]>t))
    { list[j]=list[j-1];
      --j;

    }
      list[j]=t; }
    }
    }
    public class MainClass
    { public static void Main()
    {
      int[] iArrary=new int[]{1,13,3,6,10,55,98,2,87,12,34,75,33,47};
      InsertionSorter ii=new InsertionSorter();
      ii.Sort(iArrary);
      for(int m=0;m<iArrary.Length;m++)
      Console.Write("{0}",iArrary[m]);
      Console.WriteLine();
    } }
    }

    希尔排序

     希尔排序是将组分段,进行插入排序.
    using System;
    namespace ShellSorter
    {
    public class ShellSorter
    {
    public void Sort(int [] list)
    {
     int inc;
    for(inc=1;inc<=list.Length/9;inc=3*inc+1);
      for(;inc>0;inc/=3)
    {
       for(int i=inc+1;i<=list.Length;i+=inc)
       {
       int t=list[i-1];

       int j=i;
      while((j>inc)&&(list[j-inc-1]>t))
      {
        list[j-1]=list[j-inc-1];
        j-=inc;
      }
      list[j-1]=t;
    } }
    } }
    public class MainClass
    { public static void Main()
    {
       int[] iArrary=new int[]{1,5,13,6,10,55,99,2,87,12,34,75,33,47};
       ShellSorter sh=new ShellSorter();
      sh.Sort(iArrary);
      for(int m=0;m<iArrary.Length;m++)
      Console.Write("{0} ",iArrary[m]);
      Console.WriteLine();
    } }
    }

  • 责任编辑:wxl

 

相关文章:

C#远程获取网页内容及乱码问题的解决办法
基于.net框架下的插件系统的实现方法
如何在C#中读写INI文件
C#中常用函数小结

索迪教育·大学生就业实训基地·订单式软件人才培养
    开班信息
    最新活动
      中心地图
    在线客服
    网站客服