C#实现的3种排序算法--冒泡排序、选择排序、插入排序

using  System;
using  System.Collections.Generic;
using  System.Text;
namespace  ConsoleApplication1
{
  
class  Program
  {
    
static   void  Main( string [] args)
    {
      
int [] iarrary  =   new   int [] { 1 , 5 , 13 , 6 , 10 , 55 , 99 , 2 , 87 , 12 , 34 , 75 , 33 , 47 };
         
// mpsort(iarrary);
         
//  xzsort(iarrary);
      crsort(iarrary);
      
for  ( int  n  =   0 ; n  <  iarrary.Length; n ++ )
      {
        Console.WriteLine(
" {0} " ,iarrary[n]);
      }
      Console.Read();
    }

    
public   static   void  mpsort( int  [] list) // 冒泡排序
    {
      
int  i, j, temp;
      
bool  exchange;
      
for  (i  =   1 ; i  <  list.Length; i ++ ) // 最多做list.Length-1趟排序
      {
        exchange 
=   false ;
        
for  (j  =   0 ; j  <  list.Length - i;j ++  )
        {
          
if (list[j] > list[j + 1 ])
          {
            temp 
=  list[j];
            list[j] 
=  list[j  +   1 ];
            list[j 
+   1 =  temp;
            exchange 
=   true ;
          }
        }
        
if  ( ! exchange)
        {
          
break ;
        }
      }
    }

    
public   static   void  xzsort( int [] list) // 选择排序
    {
      
int  i,j,temp,min;
      
for  (i  =   0 ; i  <  list.Length; i ++ )
      {
        min 
=  i;
        
for  (j  =  i  +   1 ; j  <  list.Length;j ++  )
        {
          
if  (list[min]  >  list[j])
          {
            min 
=  j;
          }
        }
        temp 
=  list[min];
        list[min] 
=  list[i];
        list[i] 
=  temp;
      }
    }

    
public   static   void  crsort( int [] list) // 插入排序
    {
      
int  i,j,temp;
      
for  (i  =   1 ; i  <  list.Length; i ++ )
      {
        temp 
=  list[i];
        j 
=  i;
        
while ((j  >   0 ) && (list[j - 1 ] > temp))
        {
          list[j]
= list[j - 1 ];
          
-- j;
        }
        list[j]
= temp;
      }
    }
  }
}
 

align="middle" marginwidth="0" marginheight="0" src="http://l.thec.cn/lynnlin/googleContent728x90.htm" frameborder="0" width="650" scrolling="no" height="90">

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值