C# 排序算法的实现

转载 2007年09月24日 17:05:00

一、冒泡排序(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();
   }

}

}
  

 

 

 

C#几种常用的排序算法

C#几种常用的排序算法:1 冒泡排序法 1冒泡排序法#region 冒泡排序法 2public void Sort(int[] list) 3{ 4    long begintime = Syste...
  • snlei
  • snlei
  • 2008年03月22日 21:12
  • 573

8种主要排序算法的C#实现 (一)

简介 排序算法是我们编程中遇到的最多的算法。目前主流的算法有8种。   平均时间复杂度从高到低依次是:      冒泡排序(o(n2)),选择排序(o(n2)),插入排序(o(n...
  • a57571737
  • a57571737
  • 2017年11月17日 10:53
  • 86

请编程实现一个冒泡排序算法?

int [] array = new int ; int temp = 0 ; for (int i = 0 ; i { for (int j = i + 1 ; j { if (ar...
  • X_X_OO
  • X_X_OO
  • 2016年09月13日 19:36
  • 1884

C#实现冒泡排序法

冒泡排序(Bubble Sort,台湾译为:泡沫排序或气泡排序)是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没...
  • BeiLinYu
  • BeiLinYu
  • 2015年04月21日 16:38
  • 2367

C#排序算法的比较

转载来自:http://www.cnblogs.com/rr163/p/4078613.html C#排序算法的比较 首先通过图表比较不同排序算法的时间复杂度和稳定性。   排...
  • sixping
  • sixping
  • 2016年10月13日 00:46
  • 696

算法 - 归并排序(C#)

/* * MergeSorter.cs - by Chimomo * * 归并排序是建立在归并操作上的排序算法,该算法是分而治之策略(Divide and Conquer)的一个非常典型的应用...
  • chimomo
  • chimomo
  • 2014年12月03日 17:28
  • 2543

经典排序算法---希尔排序(C/C#)

原理:每隔sp(整数)个数即取数并判断大小,交换,先构造局部有序序列,直到sp为1,构造完整的有序序列。         给出一组数据,如下: 0 1 2 3 4 5 ...
  • lucky51222
  • lucky51222
  • 2014年05月18日 00:57
  • 2436

C#实现简单排序算法

今天复习了下排序算法的简单选择排序,先描述,然后代码实现 代码实现如下 class Program { public static void Swap(ref int l...
  • fengzheng22
  • fengzheng22
  • 2014年03月14日 14:35
  • 458

C#之希尔排序

//文件中的数据格式为 // 1 2 3 4 5 // 1 2 3 5 6 using System; using System.Text; using System.Collections; usi...
  • riyuedangkong1
  • riyuedangkong1
  • 2016年11月10日 17:06
  • 489

C# 经典排序算法大全

C# 经典排序算法大全 选择排序 using System; using System.Collections.Generic; using System.Linq; using System.Tex...
  • u012025054
  • u012025054
  • 2014年10月22日 16:56
  • 3274
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 排序算法的实现
举报原因:
原因补充:

(最多只允许输入30个字)