双向冒泡排序c语言程序,c#双向冒泡排序

满意答案

02ae427d08e371d7e90d5b995e828d6d.png

ebcce6021

2014.09.23

02ae427d08e371d7e90d5b995e828d6d.png

采纳率:41%    等级:8

已帮助:414人

class SortManager

{

private int[] a;

private int start;

private int end; public void Sort(int[] a)

{

this.a = a;

start = 0;

end = a.Length - 1; int minIndex = 0;

int maxIndex = 0; while (Result(ref minIndex, ref maxIndex))

{

Move(minIndex, maxIndex); start++;

end--;

}

} private bool Result(ref int minIndex, ref int maxIndex)

{

if (start <= end)

{

int min = a[start];

int max = a[start];

minIndex = maxIndex = start; for (int i = start + 1; i <= end; i++)

{

if (min > a[i])

{

min = a[i];

minIndex = i;

}

else

{

if (max < a[i])

{

max = a[i];

maxIndex = i;

}

}

} return true;

}

else

{

return false;

}

} private void Move(int minIndex, int maxIndex)

{

int temp = a[start];

a[start] = a[minIndex];

a[minIndex] = temp; temp = a[end];

a[end] = a[maxIndex];

a[maxIndex] = temp;

}

}

00分享举报

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值