• 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(); 
    }
     
    }
     
    }
     
  • 相关阅读:
    HDOJ 1202 The calculation of GPA
    HDOJ 1197 Specialized Four-Digit Numbers
    HDOJ 1196 Lowest Bit(二进制相关的简单题)
    HDOJ 1194 Beat the Spread!(简单题)
    NOIP2018游记
    CF1043
    洛谷P1280 尼克的任务
    洛谷P1155 双栈排序
    SPOJ6340 ZUMA
    chessboard
  • 原文地址:https://www.cnblogs.com/whitetiger/p/1278468.html
Copyright © 2020-2023  润新知