zoukankan      html  css  js  c++  java
  • c#中的排序算法

    冒泡排序

      本人用了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();
    }
    }
    }

  • 相关阅读:
    Asynchronous AOF fsync is taking too long (disk is busy?). Writing the AOF buffer without waiting for fsync to complete, this may slow down Redis.
    DHCP "No subnet declaration for xxx (no IPv4 addresses)" 报错
    Centos安装前端开发常用软件
    kubernetes学习笔记之十:RBAC(二)
    k8s学习笔记之StorageClass+NFS
    k8s学习笔记之ConfigMap和Secret
    k8s笔记之chartmuseum搭建
    K8S集群集成harbor(1.9.3)服务并配置HTTPS
    Docker镜像仓库Harbor1.7.0搭建及配置
    Nginx自建SSL证书部署HTTPS网站
  • 原文地址:https://www.cnblogs.com/guozhenyp/p/2123463.html
Copyright © 2011-2022 走看看