zoukankan      html  css  js  c++  java
  • C#排序算法大全

     
    C#排序算法大全 
    土人 
    2004-7-21 
    一、冒泡排序(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(); 
    } 
    } 
    } 
    
  • 相关阅读:
    第五周学习总结
    第四周学习总结
    第三周学习总结
    第二周学习总结
    读《程序是怎样跑起来的》第十二章有感
    读《程序是怎样跑起来的》第十一章有感
    读《程序是怎样跑起来的》第十章有感
    读《程序是怎样跑起来的》第九章有感
    《程序是怎样跑起来的》第九章
    《程序是怎样跑起来的》第八章
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/2441517.html
Copyright © 2011-2022 走看看