zoukankan      html  css  js  c++  java
  • 经典算法C#四种排序算法

    【导读】本文介绍了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); 

    forint 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) 

    forint i=0;i<list.Length-1;i++) 

    { min=i; 

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

    forint 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) 

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

    forint 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) 



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

    forint m=0;m<iArrary.Length;m++) 

    Console.Write(
    "{0} ",iArrary[m]); 

    Console.WriteLine(); 

    }
     }
     

    }
     
     
    http:
    //www.uml.org.cn/net/200603242.htm

  • 相关阅读:
    vs 2015 "加载该页时出错。" 解决方案
    Web API使用HttpResponseMessage与HttpResponseException的差异 HttpResponseMessage 返回类型
    a标签使用href=”javascript:void(0); 在火狐浏览器跟chrome 不兼容
    SQL语句 转
    Fiddler抓包 截包伪造提交包
    图片懒加载
    dropzone 上传插件
    MVC5+EF6 完整教程 转
    用Aspose.Cell控件导入Excel非强类型的数据
    利用Aspose.Word控件实现Word文档的操作
  • 原文地址:https://www.cnblogs.com/sxlfybb/p/615421.html
Copyright © 2011-2022 走看看