[原创]C#冒泡算法!
2005-04-07 12:48
204 查看
参加多次笔试,居然有几次都考到了冒泡算法,一次是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#代码
- 插入排序算法--直接插入算法,折半排序算法,希尔排序算法(C#实现)
- 对“[原创]EMAIL发送系统(C#+基于SMTP认证)”的改写
- 算法之冒泡、选择、递归、随机、循环
- 一个将阿拉伯数字转换成中文大写的好算法(C#)
- 算法-基本排序:冒泡、选择、插入
- php四种基础算法:冒泡,选择,插入和快速排序法
- 【C#算法实现】安卓QQ小游戏天天爱消除辅助。
- 小小c#算法题 - 10 - 求树的深度
- [c#算法和数据结构]快速排序算法
- 用objective-c 实现常用算法(冒泡、选择、快速、插入)
- C#中关键字ref与out的区别(原创)
- C# MD5摘要算法、哈希算法