zoukankan      html  css  js  c++  java
  • 经典算法: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();

    } }

    }
  • 相关阅读:
    Spring Cloud Hystrix Dashboard的使用 5.1.3
    Spring Cloud Hystrix 服务容错保护 5.1
    Spring Cloud Ribbon 客户端负载均衡 4.3
    Spring Cloud 如何实现服务间的调用 4.2.3
    hadoop3.1集成yarn ha
    hadoop3.1 hdfs的api使用
    hadoop3.1 ha高可用部署
    hadoop3.1 分布式集群部署
    hadoop3.1伪分布式部署
    KVM(八)使用 libvirt 迁移 QEMU/KVM 虚机和 Nova 虚机
  • 原文地址:https://www.cnblogs.com/liye/p/1713144.html
Copyright © 2011-2022 走看看