`
jiasongmao
  • 浏览: 670927 次
  • 性别: Icon_minigender_1
  • 来自: 石家庄
社区版块
存档分类
最新评论

C#排序算法大全

    博客分类:
  • .NET
阅读更多

冒泡排序
  
    本人用了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();
  }
  }
  }
  
  
    选择排序
    本人用了C#开发出选择排序算法。希望能为C#语言的学习者带来一些益处。不要忘了,学语言要花大力气学数据结构和算法。
  
  
  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();
  
  
  }
  }
  }
  
  
    插入排序
  
    插入排序算法。对想提高C#语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
  
  
  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();
  }
  }
  }
  
  
    希尔排序
  
    希尔排序是将组分段,进行插入排序. 对想提高C#语言编程能力的朋友,我们可以互相探讨一下。如:下面的程序,并没有实现多态,来,帮它实现一下。
  
  
  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#中的排序算法,以及如何在Visual Studio 2005(VS05)环境下编写和应用这些算法。 1. **基础排序算法** - **冒泡排序**:最简单的排序算法之一,通过重复遍历数组比较并交换相邻元素来实现排序。...

    C# 排序算法大全参考资料,比较清淅的一个版本。集中介绍了C#中的冒泡算法、选择排序、插入排序、希尔排序等常用算法,并包含示例代码和注意事项等。

    在编程领域,排序算法是数据处理的核心部分,尤其是在C#这样的高级编程语言中。本文将深入探讨C#中常见的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序,以及它们的实现细节和应用场合。 首先,我们来看**...

    C#排序算法大全含数据结构所有算法

    本文将深入探讨标题所提及的几种C#排序算法:冒泡排序、选择排序、插入排序以及希尔排序。这些算法不仅在理论上有其独特价值,而且在实际开发中也常常被用作理解复杂算法的基础。 首先,我们来看**冒泡排序**。冒泡...

    C#排序算法大全下载

    根据提供的文件信息,我们可以归纳出以下C#中的几种排序算法及其相关知识点: ### 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就...

    C#排序算法(C#)

    在编程领域,排序算法是数据结构与算法中的基础部分,对于C#开发者来说,掌握不同的排序算法至关重要。本文将深入探讨C#语言中常见的几种排序算法,包括它们的工作原理、性能特点以及如何在C#代码中实现。 1. **...

    C#排序算法详解.rar

    本资料“C#排序算法详解”聚焦于如何在C#中实现各种排序算法,帮助学习者深入理解并提升编程技能。 1. **冒泡排序**:冒泡排序是一种简单的排序算法,通过重复遍历数组,比较相邻元素并交换位置来完成排序。C#实现...

    c#排序算法 经典c#排序算法 经典

    c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典c#排序算法 经典

    c#排序算法的动态演示系统

    《C#排序算法的动态演示系统深度解析》 在编程领域,排序算法是不可或缺的基础,尤其是在C#这样的高级编程语言中。本系统专注于C#排序算法的动态演示,旨在通过直观的方式帮助开发者理解和掌握各种排序算法的工作...

    C#常用排序算法

    以下是四种常见的C#排序算法:冒泡排序、选择排序、插入排序和希尔排序的详细解释。 1. **冒泡排序**: 冒泡排序是一种简单的交换排序,通过重复遍历数组,比较相邻元素并根据需要交换它们的位置来完成排序。每一...

    C#排序算法总结

    C#排序算法总结涵盖了交换排序和插入排序两大类排序算法,其中交换排序包括了冒泡排序、选择排序和快速排序,而插入排序则涉及直接插入排序和折半插入排序。下面将详细介绍每种排序算法的实现原理、特点以及在C#中的...

    c#+排序算法大全+经典算法

    本资料包"**c#+排序算法大全+经典算法**"显然是一个关于C#实现各种排序算法的集合,包括但不限于常见的快速排序、归并排序、冒泡排序、插入排序、选择排序以及更高效的算法如堆排序和计数排序等。 1. **快速排序**...

    快速排序算法(c#实现)

    总的来说,快速排序是一种非常重要的排序算法,理解其工作原理并能用C#或其他编程语言实现,对于提升编程技能和解决问题的能力大有裨益。在实际项目中,根据具体场景选择合适的排序算法是优化程序性能的关键。

    C#实现所有经典排序算法

    C#实现所有经典排序算法 本文将对C#实现的所有经典排序算法进行详细的讲解和分析,从选择排序、冒泡排序、快速排序等开始,讲解每种排序算法的原理、优缺点、实现代码和时间复杂度等方面。 一、选择排序 选择排序...

    C#简单的排序算法可视化程序

    总的来说,这个C#排序算法可视化程序是一个很好的学习工具,可以帮助开发者和学生更好地理解和掌握排序算法的工作原理。通过解决运行卡死的问题,这个程序将能够提供更加优质的教学体验。同时,这也提醒我们在开发...

    C# 经典排序算法大全和二分查找算法

    本资源“C#经典排序算法大全和二分查找算法”提供了多种经典的排序算法实现,以及C#中的二分查找算法。让我们深入探讨这些算法的原理、实现方式以及它们在实际开发中的应用。 首先,我们来看一下排序算法。排序是将...

    c#各种排序算法大全

    根据提供的标题、描述以及部分代码内容,我们可以总结出与C#中的各种排序算法相关的知识点。首先,虽然示例代码是用Java编写的,但我们可以将其转换为C#的知识点,并探讨这些排序算法如何在C#中实现。 ### 常见排序...

    ★【C#常用排序算法大全】★.

    【C#常用排序算法大全】包括了四种基本的排序算法:冒泡排序、选择排序、插入排序和希尔排序。这些算法都是在计算机科学中广泛使用的,对于理解和优化数据处理至关重要。 1. **冒泡排序**: 冒泡排序是一种简单的...

Global site tag (gtag.js) - Google Analytics