用户名: 密码: 验证码:           网站地图  高级搜索  RSS订阅  收藏本站
您的位置:主页 > 程序编程 > C# >

C#排序算法大全

[ 来源:天极论坛 | 作者: | 更新日期:2008-5-5 13:45:09 | 人气: | 评论 0 条 ]
  冒泡排序

  本人用了C#开发出冒泡排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。

using System;

  007网络教程网

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 ;
}

www.hot007.com

 

www.hot007.com

}
}
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();
}
}
} 文章来源于www.jc567.cn


  选择排序

  本人用了C#开发出选择排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。
复制于hot007.com

using System; jc567.cn

  007网络教程网

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;
}

www.jc567.cn

  文章来源于www.hot007.com

}
}
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();

jc567.cn

  文章来源于www.hot007.com

}
}
} jc567.cn

  插入排序

文章来源于www.jc567.cn

  插入排序算法。对想提高C#语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
复制于hot007.com

using System;

www.hot007.com

  www.jc567.cn

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;
} hot007.com

  hot007.com

}
}
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();
}
}
} 007网络教程网

  希尔排序

  希尔排序是将组分段,进行插入排序. 对想提高C#语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。

复制于hot007.com

using System; www.hot007.com

 

jc567.cn

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();
}
}
} 复制于hot007.com


Tags:C#排序算法大全,希尔排序,插入排序,选择排序,冒泡排序
您的评论
用户名: 新注册) 密码: 匿名评论 [所有评论]

·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为