zoukankan      html  css  js  c++  java
  • 经典算法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); 

    for(int 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) 

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

    } } 


     

     

    插入排序 

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

    } } 


     

     

    希尔排序 

     希尔排序是将组分段,进行插入排序. 

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

    } } 


  • 相关阅读:
    关于Visual Studio中的TraceDebugging文件夹
    没有App打得开发证书, 收不到推送
    转:ios应用崩溃日志揭秘
    转 iOS:NSAttributedString
    [UIDevice currentDevice].model
    转: Your build settings specify a provisioning profile with the UUID, no provisioning profile was found
    NSTimer 增加引用计数, 导致内存泄露,
    matplotlib基础(2)
    matplotlib基础
    《python自然语言处理》(1)
  • 原文地址:https://www.cnblogs.com/elzero/p/817963.html
Copyright © 2011-2022 走看看