一个冒泡排序程序,將交换数组的两个元素的功能用一个Swap()方法实现

zqfeng86 2011-06-20 06:46:48

namespace 冒泡排序
{
class Program
{
static void Main(string[] args)
{
int[] scores = new int[5];
int i, j;
int temp = 0;
int sum = 0;


//读入成绩
Console.WriteLine("请输入5个学员的成绩:");
for (i = 0; i < 5; i++)
{
Console.WriteLine("请输入第{0}个学员的成绩:",i + 1);
scores[i] = int.Parse(Console.ReadLine());

}
//开始排序---使用冒泡排序
for (i = 0; i < scores.Length - 1; i++)

{
//將最大的元素交换到最后
for (j = 0; j < scores.Length - 1 - i; j++)

{
if (scores[j] > scores[j + 1])
{
//交换元素

temp = scores[j];
scores[j] = scores[j + 1];
scores[j + 1] = temp;

}
}
}
Console.WriteLine("排序后的成绩为:");

for (j = 0; j < scores.Length; j++)
{

Console.WriteLine("{0}\t",scores[j]);
sum = sum + scores[j];
Console.WriteLine("总成绩是:{0}",sum);

}
Console.WriteLine();
}
}
}

將此程序交换数组元素的功能写一个方法来实现!
...全文
377 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
vrhero 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 xuexiaodong2009 的回复:]
不错啊,也可以使用加减法完成的
[/Quote]
加减法容易溢出...
xuexiaodong2009 2011-06-20
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wjhgzx 的回复:]

C# code

方法1,异或法。不用中间变量
static void Swap1(ref int a, ref int b)
{
a = b ^ a;
b = b ^ a;
a = b ^ a;
}
方法2,用中间变量
static void Swap2(ref int a,ref int……
[/Quote]不错啊,也可以使用加减法完成的
wjhgzx 2011-06-20
  • 打赏
  • 举报
回复

方法1,异或法。不用中间变量
static void Swap1(ref int a, ref int b)
{
a = b ^ a;
b = b ^ a;
a = b ^ a;
}
方法2,用中间变量
static void Swap2(ref int a,ref int b)
{
int tmp;
tmp = b;
b= a;
a = tmp;
}

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧