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(); 
    }
     
    }
     
    }
     
  • 相关阅读:
    BestCoder17 1001.Chessboard(hdu 5100) 解题报告
    codeforces 485A.Factory 解题报告
    codeforces 485B Valuable Resources 解题报告
    BestCoder16 1002.Revenge of LIS II(hdu 5087) 解题报告
    codeforces 374A Inna and Pink Pony 解题报告
    codeforces 483B Friends and Presents 解题报告
    BestCoder15 1002.Instruction(hdu 5083) 解题报告
    codeforces 483C.Diverse Permutation 解题报告
    codeforces 483A. Counterexample 解题报告
    NSArray中地内存管理 理解
  • 原文地址:https://www.cnblogs.com/whitetiger/p/1278468.html
Copyright © 2011-2022 走看看