首页 文萃 技术文档 二手市场 培训机构 e书下载 五星图书 考试资源 软件下载 标准下载 最新资讯
图书资源 留言板 联系我们
经典算法-C#四种排序算法|西安信息资源网|E书下载|电子书下载|信息发布


经典算法-C#四种排序算法 转帖

推荐人:lth009

  //经典算法-C#四种排序算法
 //【导读】本文介绍了C#的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序 

 // 冒泡排序

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

 } } 

 } 
 

 

[收藏本文]   [发表评论]  [查看评论我要推荐文章

上一篇:sql2000的分页存储过程 下一篇:EXCEL中工作表保护密码如何破解

最新参与TOP10
ascall码
【经典推荐】每个JAVA初学者都应该搞懂的问题
成功安装Mysql+Apache2+php5过程
五种提高 SQL 性能的方法
配置Eclpise+tomcat并实现JSP的编写与部署
Eclipse 3.0 上配置JSP开发环境
PHP中的XML拉模式详解
php的ajax框架xajax入门与试用
win2000server IIS和tomcat5多站点配置
JSP连接SQL Server 2000系统配置

西安信息资源网 版权所有 全球排名

QQ:363694816