常用排序方法(C#)

public class SortAlgorithm {
       
/**
 * 冒泡排序法
 * @param numlist
 */
private void bubbleSort(int[] numlist)
{
int out,in;
for(out=numlist.length-1;out>1;out--)
{
        for(in=0;in<out;in++)
        {
                if(numlist[in]>numlist[in+1])
                {
                        int temp=numlist[in];
                        numlist[in]=numlist[in+1];
                        numlist[in+1]=temp;
                }
        }
}
}

/**
 * 插入排序
 * @param numlist
 */
private void insertSort(int[]numlist)
{
        int in,out;
        for(out=1;out<numlist.length;out++)
        {
                int temp=numlist[out];
                in=out;
                while(in>0&&numlist[in-1]==temp)
                {
                numlist[in]=numlist[in-1];
                in--;
                }
                numlist[in]=temp;
        }
}

/**
 * 选择排序
 */
private void selectionSort(int[]numlist)
{
        int in,out,min;
        for(out=0;out<numlist.length-1;out++)
        {
                min=out;
                for(in=out+1;in<numlist.length;in++)
                {if(numlist[in]<numlist[min])
                        min=in;
                int temp=numlist[out];
                numlist[out]=numlist[min];
                numlist[min]=temp;
                }
                }
}

/**
 * 输出数组各值
 * @param numlist
 */
private void display(int[]numlist)
{
        for(int i=0;i<numlist.length;i++)
        {
                System.out.print(numlist[i]+" ");
        }
        System.out.println("  ");
}

public static void main(String[] args)
{
        int numlist[]=new int[]{45,167,199,-4,9,123,7,24,66,18};
        System.out.print("原序为:");
        SortAlgorithm sort=new SortAlgorithm();
        sort.display(numlist);
       
        long begin=System.currentTimeMillis();
        sort.bubbleSort(numlist);
        long end=System.currentTimeMillis();
        System.out.println("冒泡排序用时为:"+(end-begin));
        System.out.print("排序后:");
        sort.display(numlist);
       
         begin=System.currentTimeMillis();
        sort.insertSort(numlist);
         end=System.currentTimeMillis();
        System.out.println("插入排序用时为:"+(end-begin));
        System.out.print("排序后:");
        sort.display(numlist);
       
         begin=System.currentTimeMillis();
        sort.selectionSort(numlist);
         end=System.currentTimeMillis();
        System.out.println("选择排序用时为:"+(end-begin));
        System.out.print("排序后:");
        sort.display(numlist);
}
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值