分享一个改进后的冒泡排序算法(C#实现)
来源:互联网 发布:手机备份软件排名 编辑:程序博客网 时间:2024/04/28 16:45
环境:windows 7,VS2010
关于冒泡算法的原理大家自行google吧!这里就不讲了,先说一下思路,对于某一次前后邻居比较后交换,如果这次无发生交换,可以认为顺序已经就绪,如果发生交换,可以记录下最后发生交换的位置,这个位置以后的顺序可以认为已经就绪,如此,可以减少前后邻居比较后交换的次数,进而提高了效率。附上代码如下,
void BubbleSort()
{int[] s = new int[]
{
1, 8, 6, 2, 5, 1, 2, 3
};
int i = 0;
while (i < s.Length - 1)
{
int swapIndex = -1;
for (int j = 0; j < s.Length - i - 1; j++)
{
if (s[j] > s[j + 1])
{
Swap(ref s[j], ref s[j + 1]);
swapIndex = j;
}
}
if (swapIndex == -1)
break;
else
i = s.Length - 1 - swapIndex;
}
string str = "";
for (i = 0; i < s.Length; i++)
{
str += i == s.Length - 1 ? s[i] + "" : s[i] + ", ";
}
Debug.Log("str = " + str);
}
void Swap<T>(ref T param1, ref T param2)
{
T temp = param1;
param1 = param2;
param2 = temp;
}
output : 1, 1, 2, 2, 3, 5, 6, 8
0 0
- 分享一个改进后的冒泡排序算法(C#实现)
- 改进的冒泡排序算法实现 (C#)
- 冒泡排序的改进算法
- 改进的冒泡排序算法
- 改进的冒泡排序算法
- 改进的冒泡排序算法
- 改进的冒泡排序算法
- 冒泡排序算法的改进
- 冒泡排序算法的改进
- 改进的冒泡排序算法
- 快速排序:改进后的冒泡排序
- 二元冒泡排序(改进的冒泡算法)
- 改进版的冒泡排序(双向冒泡算法)
- 一个C#的冒泡排序算法
- 排序算法(一):冒泡算法的两种基本实现及改进
- 排序算法--冒泡排序的首尾改进
- 改进后的冒泡排序(单向起泡)
- 快速排序算法(冒泡算法的改进)
- Android中为图标加上数字--用于未读短信数提醒,待更新应用数提醒等
- android ndk 项目导入时出现的问题:Unresolved inclusion: <jni.h>
- Android之ContentProvider总结
- C++中Const说明
- 电影推荐之协同过滤
- 分享一个改进后的冒泡排序算法(C#实现)
- 类内const static(static const)成员变量初始化问题
- 【转】C数据存储(包括const存储在哪,C++不同部分我在文中用红字已指出)
- sizeof的作用——解释类中与类之外static变量的情况
- C++空类以及没有成员变量的类的大小
- Android Service 解析
- error127:The specified procedure could not be found.无法找到入口 无法定位程序输入点xxx 于动态链接库ulib.dll上
- 将博客搬至CSDN
- 分享一篇不错的博文《写给准备参加秋招的学弟学妹们~一定要来看哦~》