EaBIM一直以来积极响应国家“十二五”推进建筑业信息化的号召,对建筑领域的信息技术开展深入技术交流和探讨!致力于打造“BIM-建筑师-生态技术”三位一体综合资源交流共享平台,希望为BIM与可持续设计理念及技术的普及做出微小的贡献!!!

EaBIM

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
查看: 730|回复: 11
打印 上一主题 下一主题

[算法] C#排序算法大全

[复制链接]

1514

主题

7465

帖子

1万

积分

admin

Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10Rank: 10

积分
12404

社区QQ达人

跳转到指定楼层
楼主
发表于 2014-1-13 17:10:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
 冒泡排序
  本人用了C#开发出冒泡排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。
using System
namespace BubbleSorter
{
public class BubbleSorter
{
public void Sort
int [] list
{
int i,j,temp

bool done=false

j=1

while
((jlist.Length&&!done))
{
done=true

for
i=0ilist.Length-ji++
{
if
listlist[i+1]
{
done=false

temp=list

list=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=0miArrary.Lengthm++
Console.Write
"{0} ",iArrary[m]);
Console.WriteLine
();
}
}
}

  选择排序
  本人用了C#开发出选择排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。
using System
namespace SelectionSorter
{
public class SelectionSorter
{
private int min

public void Sort
int [] list
{
for
int i=0ilist.Length-1i++
{
min=i

for
int j=i+1jlist.Lengthj++
{
if
list[j]list[min]
min=j

}
int t=list[min]

list[min]=list

list=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=0miArrary.Lengthm++
Console.Write
"{0} ",iArrary[m]);
Console.WriteLine
();
}
}
}
  插入排序
  插入排序算法。对想提高C#语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
using System
namespace InsertionSorter
{
public class InsertionSorter
{
public void Sort
int [] list
{
for
int i=1ilist.Lengthi++
{
int t=list

int j=i

while
((j0&&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=0miArrary.Lengthm++
Console.Write
"{0}",iArrary[m]);
Console.WriteLine
();
}
}
}
  希尔排序
  希尔排序是将组分段,进行插入排序. 对想提高C#语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
using System
namespace ShellSorter
{
public class ShellSorter
{
public void Sort
int [] list
{
int inc

for
inc=1inc=list.Length/9inc=3*inc+1);
for
(;inc0inc/=3
{
for
int i=inc+1i=list.Lengthi+=inc
{
int t=list[i-1]

int j=i

while
((jinc&&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=0miArrary.Lengthm++
Console.Write
"{0} ",iArrary[m]);
Console.WriteLine
();

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 转播转播 分享分享 分享淘帖 支持支持 反对反对
工作时间:工作日的9:00-12:00/13:30-18:00,节假日不在线,请勿留言

8

主题

877

帖子

1362

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1362
5F
发表于 2014-3-11 15:51:03 | 只看该作者
路过!!! 不发表意见……

5

主题

851

帖子

1342

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1342
6F
发表于 2014-3-11 15:53:39 | 只看该作者
顶...... 楼下跟上.....

6

主题

853

帖子

1347

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1347
9F
发表于 2014-5-13 10:43:17 | 只看该作者
顶...... 楼下跟上.....

7

主题

865

帖子

1435

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1435
10F
发表于 2014-5-13 10:45:09 | 只看该作者
路过!!! 不发表意见……

1

主题

842

帖子

1254

积分

BIM经理

Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6Rank: 6

积分
1254
12F
发表于 2014-5-19 14:27:53 | 只看该作者
(*^__^*) 嘻嘻……
*滑块验证:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|EaBIM网 ( 苏ICP备2020058923号-1  苏公网安备32011502011255号

GMT+8, 2024-11-16 12:38

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表