几种排序算法
来源:互联网 发布:黑产数据买卖网站 编辑:程序博客网 时间:2024/05/01 19:03
//冒泡排序法
public void Sort(int[] source)
{
Console.WriteLine("冒泡算法开始......");
Auxiliary.DisplayArray(source);
int j, temp;
j = 1;
while ((j < source.Length))
{
for (int i = 0; i < source.Length - j; i++)
{
if (source[i] < source[i + 1])
{
temp = source[i];
source[i] = source[i + 1];
source[i + 1] = temp;
}
}
//希尔排序法
public void Sort(int[] source)
{
int inc;
for (inc = 1; inc <= source.Length / 9; inc = 3 * inc + 1) ;
for (; inc > 0; inc /= 3)
{
for (int i = inc + 1; i <= source.Length; i += inc)
{
int t = source[i - 1]; int j = i;
while ((j > inc) && (source[j - inc - 1] > t))
{
source[j - 1] = source[j - inc - 1]; j -= inc;
}
source[j - 1] = t;
}
}
//插入排序算法
public void Sort(int[] source)
{
for (int i = 1; i < source.Length; i++)
{
int t = source[i];
int j = i;
while ((j > 0) && (source[j - 1] < t))
{
source[j] = source[j - 1];
--j;
}
source[j] = t;
}
}
//选择排序算法
public void Sort(int[] source)
{
int min;
int count = 1;
Console.WriteLine("选择算法开始......");
Auxiliary.DisplayArray(source);
for (int i = 0; i < source.Length - 1; i++)
{
min = i;
for (int j = i + 1; j < source.Length; j++)
{
if (source[j] > source[min])
min = j;
}
int t = source[min];
source[min] = source[i];
source[i] = t;
Console.Write("第{0}趟排序:", count);
Auxiliary.DisplayArray(source);
count++;
}
}
- 几种排序算法
- 几种排序算法!
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 几种排序算法
- 随笔
- linux压缩和解压
- 2010/8/13
- CComboBox中使用附加数据
- LTE PRACH (1)
- 几种排序算法
- 本人见过的最有用的日志!不来转藏肯定后悔
- linux下编译 出现 cc1: warnings being treated as errors
- VC中CListCtrl排序
- Android TTS学习——继续爱的表白
- SQL存储过程入门学习
- C程序注意问题
- VC中如何给对话框加背景图片
- 信息安全等级保护相关标准体系(合集)