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

    forint 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) 

    forint i=0;i<list.Length-1;i++) 

    { min=i; 

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

    forint 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) 

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

    forint 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) 



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

    forint m=0;m<iArrary.Length;m++) 

    Console.Write(
    "{0} ",iArrary[m]); 

    Console.WriteLine(); 

    }
     }
     

    }
     
     
    http:
    //www.uml.org.cn/net/200603242.htm

  • 相关阅读:
    C语言寒假大作战01
    C语言I作业12—学期总结
    C语言I博客作业11
    C语言I博客作业10
    C语言I博客作业09
    C语言I博客作业08
    centos安装swoole
    Apache优化:修改最大并发连接数
    centos中安装、升级git
    memcached/memcache安装
  • 原文地址:https://www.cnblogs.com/sxlfybb/p/615421.html
Copyright © 2011-2022 走看看