| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 581 人关注过本帖
标题:冒泡排序!!运行总出错!
只看楼主 加入收藏
nigma
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2007-2-24
收藏
得分:0 

也可以不这样写
用另外一种方法

namespace _.__1
{
class Program
{
public Program(ref int[] a,int n)
{
Console.WriteLine("原顺序为:");
for(int i=0;i<n;i++)
Console.Write("{0} ",a[i]);
Console.WriteLine("");
Console.WriteLine("按冒泡法排序之后的顺序为:");
for(int i=0;i<n-1;i++)
{
for(int j=i+1;j<n;j++)
{
if (a[i]>a[j])
{
int t=a[i];
a[i]=a[j];
a[j]=t;
}
}
}
for(int i=0;i<n;i++)
Console.Write("{0} ",a[i]);
}
static void Main(string[] args)
{
int[] array=new int[10]{1,2,54,21,8,78,65,47,0,4};
Program sd=new Program(ref array,10);
Console.ReadLine();
}

}
}

[此贴子已经被作者于2007-11-4 10:49:58编辑过]

2007-11-04 10:46
毛山道士
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2007-11-4
收藏
得分:0 
禾今的方法我感觉是对的啊,j应该从i-1还是取的。
2007-11-04 15:21
giant611
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2007-9-25
收藏
得分:0 
学习氛围浓重
2007-11-04 17:38
yzh7271
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-5
收藏
得分:0 

应该把
for (j=0;j<=n-i;j++)
改为
for (j=0;j<n-i;j++)
就可以了。

2007-11-05 18:13
yzh7271
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2007-11-5
收藏
得分:0 

/*冒泡排序*/
void maoposort(int a[],int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
for (j=0;j<=n-i;j++)
{
if(a[j]>a[j+1])
{ t=a[j];a[j]=a[j+1];a[j+1]=t;}
}
}

}

也可以改为

/*冒泡排序*/
void maoposort(int a[],int n)
{
int i,j,t;
for(i=0;i<n;i++)
{
for (j=n-1;j>=i;j--)
{
if(a[j]<a[j-1])
{ t=a[j];a[j]=a[j-1];a[j-1]=t;}
}
}

}

2007-11-05 18:33
快速回复:冒泡排序!!运行总出错!
数据加载中...
 
   



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

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