C#排序算法

原创 2007年09月14日 16:10:00
 
冒泡排序
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();

}   }

}

C#排序算法的比较

转载来自:http://www.cnblogs.com/rr163/p/4078613.html C#排序算法的比较 首先通过图表比较不同排序算法的时间复杂度和稳定性。   排...
  • sixping
  • sixping
  • 2016年10月13日 00:46
  • 700

C# 经典排序算法大全

C# 经典排序算法大全 选择排序 using System; using System.Collections.Generic; using System.Linq; using System.Tex...
  • u012025054
  • u012025054
  • 2014年10月22日 16:56
  • 3277

C#实现简单排序算法

今天复习了下排序算法的简单选择排序,先描述,然后代码实现 代码实现如下 class Program { public static void Swap(ref int l...
  • fengzheng22
  • fengzheng22
  • 2014年03月14日 14:35
  • 458

8种主要排序算法的C#实现 (一)

简介 排序算法是我们编程中遇到的最多的算法。目前主流的算法有8种。   平均时间复杂度从高到低依次是:      冒泡排序(o(n2)),选择排序(o(n2)),插入排序(o(n...
  • a57571737
  • a57571737
  • 2017年11月17日 10:53
  • 86

C#几种常用的排序算法

C#几种常用的排序算法:1 冒泡排序法 1冒泡排序法#region 冒泡排序法 2public void Sort(int[] list) 3{ 4    long begintime = Syste...
  • snlei
  • snlei
  • 2008年03月22日 21:12
  • 574

Csharp四种简单的排序算法

我觉得如果想成为一名优秀的开发者,不仅要积极学习时下流行的新技术,比如WCF、Asp.Net MVC、AJAX等,熟练应用一些已经比较成熟的技术,比如Asp.Net、WinForm。还应该有着牢固的计...
  • zjfei
  • zjfei
  • 2010年04月21日 13:43
  • 822

C#实现冒泡排序法

冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没...
  • BeiLinYu
  • BeiLinYu
  • 2015年04月21日 16:38
  • 2371

经典排序算法---希尔排序(C/C#)

原理:每隔sp(整数)个数即取数并判断大小,交换,先构造局部有序序列,直到sp为1,构造完整的有序序列。         给出一组数据,如下: 0 1 2 3 4 5 ...
  • lucky51222
  • lucky51222
  • 2014年05月18日 00:57
  • 2440

算法 - 归并排序(C#)

/* * MergeSorter.cs - by Chimomo * * 归并排序是建立在归并操作上的排序算法,该算法是分而治之策略(Divide and Conquer)的一个非常典型的应用...
  • chimomo
  • chimomo
  • 2014年12月03日 17:28
  • 2547

各种排序算法的优劣

       各种排序优缺点      文章分类:综合技术       转载程序人生 2010-04-24 23:25:20       一、冒泡排序         已知一组无序数据a[1]、a[2...
  • hi_dzj
  • hi_dzj
  • 2010年11月07日 13:44
  • 3464
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C#排序算法
举报原因:
原因补充:

(最多只允许输入30个字)