时间:2016-02-16 00:13 来源: 我爱IT技术网 作者:佚名
欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【asp.net 冒泡算法的理解】,下面是详细的讲解!
asp.net 冒泡算法的理解
using System;
namespace Sort
{
public class Sort
{
//冒泡排序 一
//是不是很不好理解?没关系,看看下一种方法,绝对好理解
public void BubbleSort(int[] a)
{
//定义一个临时变量,为了交换位置,学过C语言的我想应该很熟悉吧?
int tmp;
for (int i=0; i < a.Length - 1; i++)
{
int idx=i; //利用数组中的索引是不是也是一种办法?
for (int j=idx + 1; j < a.Length; j++)
if (a[idx] < a[j])
idx=j; //其实就是为了找到最大的那个数的索引
//下面就是交换的过程
tmp=a[i];
a[i]=a[idx];
a[idx]=tmp;
}
}
//冒泡排序 二
//如果你觉的这个难不倒你,我们可以看看下一种呵呵
public void BubbleSort(int[] a)
{
//定义一个临时变量,为了交换位置,学过C语言的我想应该很熟悉吧?
int tmp;
for (int i=0; i < a.Length - 1; i++)
{
//int idx=i; 这句话是不是可以省略掉了?
// 这样是不是就更容易通俗易懂了?
for (int j=i+1; j < a.Length; j++)
{
//你比我大我就和你交换,比我小继续找比我大的,如果找不到,我就是最大的对吧?
if (a[i] < a[j])
{
tmp=a[j];
a[j]=a[i];
a[i]=tmp;
}
}
}
}
//递归算法,模拟冒泡 三
//稍微有点绕,如果你搞懂前两种再来看会比较简单一点
public void BubbleSort(int[] a)
{
//调用下面的方法
bubble(a, 0, a.Length);
}
void bubble(int[] a, int start, int end)
{
//注意:如果没有这个判断条件就无限递归了
if (start >=end)
{
return;
}
int tmp;
//和上面的两种方法大同小异
for (int i=start; i < end-1; i++)
{
if (a[start] < a[i + 1])
{
tmp=a[start];
a[start]=a[i + 1];
a[i + 1]=tmp;
}
}
//传说中的递归
bubble(a, start+1, end);
}
}
}
关于asp.net 冒泡算法的理解的用户互动如下:
相关问题:
答: >>详细
相关问题:
答: >>详细
相关问题:
答: >>详细
- 【asp】asp.net url重写浅谈-net-url重写
- 【DataSet】DataSet、DataTable、DataRow区别详解
- 【asp】asp.net 动态添加多个用户控件-net-动态添
- 【ASP】ASP.NET中内嵌页面代码的一个问题-NET-内
- 【创建】ASP.NET Web API教程 创建域模型的方法详
- 【Asp】Asp.net 页面调用javascript变量的值-net-
- 【ASP】ASP.NET 5升级后如何删除旧版本的DNX-NET5
- 【404页面】ASP.NET设置404页面返回302HTTP状态码
- 【asp】asp.net开发中常见公共捕获异常方式总结(
- 【Visual】分享Visual Studio原生开发的10个调试
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
