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(); 
    } 
    } 
    } 
    
  • 相关阅读:
    2020.02.28 【ABAP随笔】- EXCEL批导程式3
    2020.02.27 【ABAP随笔】- EXCEL批导程式2
    2020.02.26 【ABAP随笔】- EXCEL批导程式1
    2020.02.24 【ABAP随笔】- EXCEL常见操作笔记 1
    2020.02.15 【ABAP随笔】- 物料主数据增强
    2020.01.14 【ABAP随笔】-程序优化笔记
    2020.01.11 【ABAP随笔】获取标准报表数据(MB52)数据进行客制ALV
    2020.01.11 【ABAP随笔】SM30常见增强操作-自动带描述等
    2020.01.10 【ABAP随笔】ALV上的下拉框
    Linux资源监控命令/工具(调试)
  • 原文地址:https://www.cnblogs.com/xiaofengfeng/p/2441517.html
Copyright © 2011-2022 走看看