[原创]C#冒泡算法!
2005-09-02 12:24
253 查看
参加多次笔试,居然都考到了冒泡算法,一次是C#版的填空,一次是javascript版的全部写出。
虽然每次都凭着我对冒泡法的理解给弄出来的,但是多多少少与标准模式有点差别,在网上搜了一下关于C#版的冒泡算法,居然也没有一个象样的,自己对照算法模式认真写了一个C#版的,已经测试成功。
同时附上【冒泡排序动画演示】
public void BubbleSort(int[] R)
{
int i,j,temp;
//交换标志
bool exchange;
//最多做R.Length-1趟排序
for(i=0; i<R.Length; i++)
{
//本趟排序开始前,交换标志应为假
exchange=false;
for(j=R.Length-2; j>=i; j--)
{
//交换条件
if(R[j+1]<R[j])
{
temp=R[j+1];
R[j+1]=R[j];
R[j]=temp;
//发生了交换,故将交换标志置为真
exchange=true;
}
}
//本趟排序未发生交换,提前终止算法
if(!exchange)
{
break;
}
}
}
虽然每次都凭着我对冒泡法的理解给弄出来的,但是多多少少与标准模式有点差别,在网上搜了一下关于C#版的冒泡算法,居然也没有一个象样的,自己对照算法模式认真写了一个C#版的,已经测试成功。
同时附上【冒泡排序动画演示】
public void BubbleSort(int[] R)
{
int i,j,temp;
//交换标志
bool exchange;
//最多做R.Length-1趟排序
for(i=0; i<R.Length; i++)
{
//本趟排序开始前,交换标志应为假
exchange=false;
for(j=R.Length-2; j>=i; j--)
{
//交换条件
if(R[j+1]<R[j])
{
temp=R[j+1];
R[j+1]=R[j];
R[j]=temp;
//发生了交换,故将交换标志置为真
exchange=true;
}
}
//本趟排序未发生交换,提前终止算法
if(!exchange)
{
break;
}
}
}
相关文章推荐
- [原创]C#冒泡算法!
- 一个将阿拉伯数字转换成中文大写的好算法【原创】(C#)
- C# 常用算法之-排序算法【原创独家】
- 【原创】机器学习之PageRank算法应用与C#实现(1)算法介绍
- c# 排序 算法 函数 冒泡 选择 插入 希尔
- 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码
- 【原创】机器学习之PageRank算法应用与C#实现(1)算法介绍
- 【原创】机器学习之PageRank算法应用与C#实现(2)球队排名应用与C#代码
- 算法模板——并查集 2(支持快速即时查询本连通块内容,纯原创!)
- 对“[原创]EMAIL发送系统(C#+基于SMTP认证)”的改写
- 算法之冒泡、选择、递归、随机、循环
- 地球坐标-火星坐标-百度坐标及之间的转换算法 C#
- 【原创】开源Math.NET基础数学类库使用(05)C#解析Delimited Formats数据格式
- 一个将阿拉伯数字转换成中文大写的好算法(C#)
- [转载+原创]Emgu CV on C# (三) —— Emgu CV on 均衡化
- [c#算法和数据结构]快速排序算法
- C#中关键字ref与out的区别(原创)
- (原创)c#学习笔记08--面向对象编程简介01--面向对象编程的含义03--静态和实例类成员
- 【Vegas原创】C#不能多重继承,怎么办?接口!
- C#精髓【月儿原创】第四讲 GridView 72般绝技 .