A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 黑马—杨磊 于 2013-5-21 13:25 编辑

int [] array = new int ;
int temp = 0 ;
for (int i = 0 ; i < array.Length - 1 ; i++)
{
for (int j = i + 1 ; j < array.Length ; j++)
{
if (array[j] < array)
{
temp = array ;
array = array[j] ;
array[j] = temp ;
}
}
}

点评

这个是冒泡排序!!  发表于 2013-5-22 12:33

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

3 个回复

倒序浏览
应该是冒泡排序。数组array的当前元素与后一位元素比较大小。如果当前元素大于后一位元素,执行if里的程序块,将值大的元素挪到数组后面,值小的挪前面去。
回复 使用道具 举报
本帖最后由 郎吉祥 于 2013-5-21 11:22 编辑

首先,他是一个嵌套循环。遍历索引,if (array[j] < array)。array[j]表示内部当前次循环的那个数组元素,而array在内部循环没有结束的时候,是不变的。表示,array[j]依次循环和array比较,小的就交换位置。内部循环完了之后,i+1,再次执行内部循环。就这样直到循环完毕。
其实他不是冒泡排序吧。程序的意思,是从第I+1个元素开始每个数组元素和第i个元素比较,小的就放到第i个元素上。依次排序。感觉像是选择排序。

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

回复 使用道具 举报
这个是选择排序 int [] array = new int [*] ; (这句是不是你写错了 ) 给你提点小建议 初学者应该多写注释,这点很重要的!
if (array[j] < array[i])这个就是数组array的当前元素与后一位元素比较大小  对不起了本来是给你画图解释的可是怎么上传不了图片、 希望对你有所帮助吧  
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马