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(); 
    }
     
    }
     
    }
     
  • 相关阅读:
    由asp的一个错误,看语言的不同:asp & java
    chrome 显示图片遇到的问题,与 淘宝图片服务器 缓存 有关系
    asp 调用 vb(activex dll) ,参数传递(传引用)需要注意
    asp <----> vb(com,dll) <---> c 来回的调用,生命在于折腾
    HTTP/1.1 100 Continue
    java 线程栈 & java.lang.StackOverflowError
    硬盘分区的意义
    硬盘性能 & 文件碎片的一些思考
    Java并发——ReentrantLock类源码阅读
    使用Windows的NAT功能
  • 原文地址:https://www.cnblogs.com/whitetiger/p/1278468.html
Copyright © 2011-2022 走看看