请问visual studio 2005中用C#语言实现排序的代码

急求,谢谢... 急求,谢谢 展开
 我来答
定复2d
2009-03-17 · TA获得超过3196个赞
知道大有可为答主
回答量:2052
采纳率:0%
帮助的人:1933万
展开全部
我给你这段,你稍微修改吧
下面的是对冒泡排序的改进,你当作学习吧···比一般的冒泡效率都高
主要是有一个bool done = false; 来控制
要速记就看上面的高手的吧

static void Main(string[] args)
{
//控制输入

Console.WriteLine("请输入您要输入数组的大小:");
int num = Convert.ToInt32(Console.ReadLine());
int[] number = new int[num];
for (int i = 0; i < number.Length; i++)
{
Console.WriteLine("请输入第{0}个元素", i + 1);
int fornum = Convert.ToInt32(Console.ReadLine());
number[i] = fornum;
}

Sort(number);
//控制输出格式
foreach(int a in number)
{
Console.Write("{0} ", a);
}
Console.ReadLine();
}
public static void Sort(int[] num)
{
int i, j, temp;
bool done = false;
j = 1;
while ((j < num.Length) && (!done))
{
done = true;
for (i = 0; i < num.Length - j; i++)
{
if (num[i] > num[i + 1])
{
done = false;
temp = num[i];
num[i] = num[i + 1];
num[i + 1] = temp;
}
}
j++;
}
}
通欢Ep
2009-03-17 · TA获得超过424个赞
知道小有建树答主
回答量:810
采纳率:0%
帮助的人:280万
展开全部
数组 排序吗?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
丠風
2009-03-17 · TA获得超过923个赞
知道小有建树答主
回答量:461
采纳率:50%
帮助的人:212万
展开全部
我前几天回答过一个排序的问题,这里你可以看一下。
举个实例:
假如有5个成绩58,87,99,71,68组成的一个数组,要求对数组中的成绩值从大到小排序,并且显示出排序后数组中成绩的值。
解答:
冒泡排序速记口诀(降序):
N个数字来排序,两两相比大靠前,
外层循环N-1,内层循环N-1-i.
如果要升序,只要把程序中的if (a[j] < a[j + 1]) 小于号换成大于号就行了
代码如下:
static void Main(string[] args)
{
int[] a = new int[5] {58,87,99,71,68 };

int temp; //临时变量,保存最大值
int i,j; //循环变量
for (int i = 0; i < a.Length-1; i++)
{
for (int j = 0; j < a.Length - 1-i; j++)
{
if (a[j] < a[j + 1])
{
temp = a[j];
a[j] = a[j + 1];
a[j + 1] = temp;
}
}
}
foreach (int c in a) //用foreach输出排序后的数组元素
{
Console.WriteLine(c);
}
}
}
}

参考资料: 自己写过的

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b1283323c
2009-03-17 · TA获得超过3011个赞
知道小有建树答主
回答量:715
采纳率:100%
帮助的人:848万
展开全部
典型的 冒泡排序
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式