黑马程序员技术交流社区
标题:
最简单的排序方法是什么?
[打印本页]
作者:
廖创发
时间:
2012-9-2 10:54
标题:
最简单的排序方法是什么?
本帖最后由 廖创发 于 2012-9-15 11:22 编辑
为什么直接插入法是最简单的排序方法,我直接声明using System.Collections;然后调用Array.sort();这个方法不是更简单吗?为什么书上说用Array.sort();是很麻烦的??
作者:
许庭洲
时间:
2012-9-2 12:58
声明using System.Collections后再调用Array.sort快速排序是建立在微软.Net框架上的,而Array的快速排序是建立在机器上的。
作者:
廖创发
时间:
2012-9-5 09:54
许庭洲 发表于 2012-9-2 12:58
声明using System.Collections后再调用Array.sort快速排序是建立在微软.Net框架上的,而Array的快速排序是 ...
额,还不是很明白,可不可以详细点?
作者:
王荟越
时间:
2012-9-14 09:30
其实排序方法很多的,冒泡,递归 等等,楼上说的是.net框架下的一种方法,简单的话可以用冒泡:
冒泡排序法:是让一个数组中的数两两比较的方法。最后会得到最大或最小数。
原理:原理是复杂地,如果想了解的话可以向我要视频QQ:643955613 建议只记公式吧:(scores是数组)
for (int i = 0; i < scores.Length - 1; i++)
{
for (int j = 0; j < scores.Length - 1 - i; j++)
{
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int[] scores = { 18, 20, 48, 38, 2, 4, 32, 54, 6, 8, 33 };
for (int i = 0; i < scores.Length - 1; i++)
{
for (int j = 0; j < scores.Length - 1 - i; j++)
{
if (scores[j] > scores[j + 1])//注意“>”表示从小到大,“<”从大到小
{
int temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;
}
}
}
for (int i = 0; i < scores.Length; i++)
{
Console.WriteLine(scores[i]);
}
Console.ReadKey();
}
}
}
作者:
iamheima
时间:
2012-9-14 12:45
像排序这样的工作,.NET这样的应用程序框架肯定是会给我们进行一些封装的啦,不然我们写程序不累死了啊,但是为了更深入的理解原理,还是看看数据结构相关的书,学习几个一般的排序算法是很有必要的,不能什么都指望别人嘛。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2