标题:[求助]C#写希尔排序
只看楼主
jasonxie
Rank: 1
等 级:新手上路
威 望:2
帖 子:225
专家分:0
注 册:2007-3-19
 问题点数:0 回复次数:0 
[求助]C#写希尔排序

大家知道数据结构有个排序的内容吧。我用C++写了一个希尔排序,但是我用C#却写不出来了,我感觉逻辑跟C++是一样的啊,为什么输出的时候有问题呢??调了半天也没有调出哪里出问题了,请各位帮帮忙。

using System;
using System.Collections.Generic;
using System.Text;

namespace shellSort
{
class Program
{
public static void swap(ref int a,ref int b)
{
int temp = a;
a = b;
b = a;
}

public static void shellSort(int[] p, int n)
{
int i, j, dis;
dis = n / 2;

while (dis > 0)
{
for (i = dis; i < n; ++i) //循环的次数
{

j = i - dis; //间距

while (j >= 0)
{
if (p[j] > p[j + dis])
swap(ref p[j] ,ref p[j + dis]);
j = j - dis;
}
}
dis = dis / 2;
}
}

static void Main(string[] args)
{
int[] arr = { 82, 16, 9, 95, 27, 75, 42, 69, 34};
shellSort(arr, arr.Length);

for (int i = 0; i < arr.Length; ++i)
Console.Write(" {0} ", arr[i]);

}
}
}

搜索更多相关主题的帖子: 希尔 
2007-06-10 13:09



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-146326-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.770763 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved