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(); 
    }
     
    }
     
    }
     
  • 相关阅读:
    android 核心组件( 1 ) 常用布局, adapter, handler, UI
    Android 提高篇 6 之MediaPlayer
    Windows下获取Android系统源码
    Android入门学习笔记之人机用户界面
    Android的三种网络联接方式(URL / HttpURLConnection | HttpClient | InetAddress )
    界面开发的推荐色值, dip,px,pt,sp 的区别
    Android 提高 5 SurfaceView绘图容器的基本使用
    一些腾讯笔试题目
    Android提高篇2 之 Service就是后台程序
    Android提高篇1 之 BroadcastReceiver 应用程序间通信的手段
  • 原文地址:https://www.cnblogs.com/whitetiger/p/1278468.html
Copyright © 2011-2022 走看看