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#实现各种排序算法

  • 2013年11月30日 12:35
  • 97KB
  • 下载

各种排序算法总结及C#代码实现

排序是计算机内经常进行的一种操作,其目的是将一组“无序”的记录序列调整为“有序”的记录序列。分内部排序和外部排序。若整个排序过程不需要访问外存便能完成,则称此类排序问题为内部排序。反之,若参加排序的记...

c#实现选择排序算法

  • 2009年06月23日 17:41
  • 12KB
  • 下载

C#实现泛型选择排序算法

原理: 选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 目...
  • lxt610
  • lxt610
  • 2017年04月29日 17:32
  • 170

C#实现各种排序算法

  • 2012年01月09日 15:27
  • 116KB
  • 下载

C#实现所有经典排序算法

  • 2008年09月06日 16:09
  • 5KB
  • 下载

C#实现所有经典排序算法汇总

C#实现所有经典排序算法1、选择排序 class SelectionSorter    {        private int min;        public void Sort(int[] ...
  • jxqvip
  • jxqvip
  • 2011年07月10日 08:01
  • 481

C# 各种排序算法实现与对比

  • 2008年12月08日 21:37
  • 12KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 排序算法的实现
举报原因:
原因补充:

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