C#(CSharp)
|
VC/C++
|
ASP(ASP.NET)
|
SQL Server
|
OpenGL
|
CMM
|
网站开发SEO
|
数控技术
|
地理信息系统
|
WINDOWS操作系统
|
联高软件
>
技术文档
>
C#
> C#排序算法大全 C#软件开发参考文档
C#排序算法大全
发表:联高软件www.legalsoft.com.cn,本文被阅读:
4316
次
摘要
:文章:C#排序算法大全 摘要:一、冒泡排序(Bubble)usingSystem;namespaceBubbleSorter{publicc,发表于北京联高软件有限公司技术文章栏目,代码以高亮显示。
关键字
:大全, 算法, 排序, list, int, public, iarrary, for, length, void, console, sort, code, class, new, min, insertionsorter, shellsorter
一、冒泡排序(Bubble)
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(); } } }
二、选择排序(Selection)
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(); } } }
三、插入排序(InsertionSorter)
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(); } } }
四、希尔排序(ShellSorter)
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#]
C#多线程编程实例实战
(3371)
[C#]
C#进阶
(2786)
[C#]
用设计模式固化C#程序
(3218)
[C#]
C#哈希值的产生与比较
(1255)
[C#]
C#实现的18位身份证格式验证算法
(3176)
[C#]
在 C# 中加载自己编写的动态链接库
(3293)
[C#]
ASP.NET中实现在线用户检测(使用后台守护线程)
(3748)
[C#]
C#绘图(可以处理负值)
(2921)
[C#]
C# 2.0:使用匿名方法、迭代程序和局部类来创建优雅的代码
(2174)
[C#]
压缩ASP.NET中的ViewState
(3018)
[C#]
C#处理文本文件
(2107)
[C#]
一个用C#写的词法分析程序
(1874)
[C#]
C#语言FTP客户端代码
(6214)
[C#]
防止对 Visual Basic .NET 或 C# 代码进行反相工程
(2362)
[C#]
在ASP.NET下实现数字和字符相混合的验证码(C#)
(2747)
[C#]
借用VB的My,C#照样条条大路通罗马
(3573)
[C#]
在LINUX中使用C#
(103)
[C#]
从ASP过渡到ASP.net遗留的二十大积习
(2180)
[C#]
无废话C#设计模式之十三:DECORATOR
(2526)
[C#]
C#提取EXCEL文件表格并自动生成HTML页面表格[原创]
(2024)
www.315soft.com